黑马程序员_IO流(上)
2013-01-23 14:50
218 查看
------- android培训、java培训、期待与您交流! ----------
1:IO流
是Input与Output的简称 也叫输入与输出;其中Output是写,Input是读;
IO技术就是用于处理设备上数据,用于设备间数据的传输;
2:IO流的体系:
字节流:
两个抽象基类:字节输入流InputStream 读 字节输出流 OutputStream 写
字符流:
两个抽象基类:字符输入流 Reader 字符输出流 Writer
由这四个体系派生出来的子类在名称定义上都有规律:是抽象基类就不可以new;
3:命名规范及特点:
所有的子类后缀名都是体系父类名。而前缀名就是这个子类对象的功能。
4:IO流的分类:
字节流和字符流;
5: 创建操作:
FileReader fr=new FileReader();
FileWriter fw=new FileWriter("Demo.txt")//创建一个文件
write()方法是将字符串数据写入到内部缓冲区中;
flush()是刷新缓冲区数据,在程序中可以执行多次;注:缓冲区满后也会自动刷新,
close()表示流资源已经关闭,而且程序里的close只能执行一次;
winddows里面的换行是”\r\t“; 例如:"abc\r\tdef" 打印出就是 (1)abc (2)def
read() 一次只能读取一个字符;返回-1就表示已经读到结尾;
read(char[] )将读到的字符存储到指定字符数组中;
6: flush()与close()的区别?
flush只是负责刷新,刷新完成后还可以继续使用,而且在程序中可以使用多次;
close()先刷新,然后将流关闭,close执行后流就关闭了,它在程序中只能用一次;
7:异常的处理:
使用try() catch() finally()
直接使用throws IOException(不建议使用,应该自己去处理异常,也就是使用try)
8:复制文件的两种方式:
复制的第一种方式
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTextTest {
static void main(String[] args) throws IOException {
/*
* 需求:对一个文本文件进行复制。
* 复制的原理:其实就是对源数据进行读取,并将读取的到数据写入到的目的文件中。
* 原来就是连读带写。
* 说明要用到输入流和输出流。
*
*/
//1,通过读取流和要复制的文件进行关联。明确 源!
FileReader fr = new FileReader("IO流.txt");
//2,明确目的,通过输出流明确目的文件。
FileWriter fw = new FileWriter("copy_1.txt");
//3,进行读写操作,要一边读,一边写。一次就操作一个字符。
int ch = 0; //定义变量
while((ch=fr.read())!=-1){
fw.write(ch);
}
fw.close();
fr.close(); //读的固定代码,强记
}
}
9:复制文件的两种方式:
复制的第二种方式使用数组 和抛出异常的处理规范代码
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTextByArrayTest {
/*
* 复制方式二:通过数组的形式。
*/
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader("IO流.txt");
fw = new FileWriter("copyt_2.txt");
//定义一个1024倍数长度的字符数组作为缓冲。
char[] buf = new char[1024];
int len = 0;
while((len=fr.read(buf))!=-1){
fw.write(buf,0,len);
}
}catch(IOException e){
}finally{
if(fw!=null){
try {
fw.close();
} catch (IOException e2) {
}
}
if(fr!=null){
try {
fr.close();
} catch (IOException e2) {
}
}
}
}
}
10:read(char[] );控制台打印出文件中的内容 (数组方式(方式一))
package cn.itcast.io.p1.charstream.read;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("demo.txt");
/*
* 使用 带数组参数的read方法。 read(char[]): 将读取到的字符存储到指定的字符数组中。
*/
// 先定义一个字符数组。该数组的长度最好是1024的整数倍。
char[] buf = new char[1024];
// 调用读取方法,将字符存储到数组中。
int len = 0;
while((len=fr.read(buf))!=-1){
System.out.println(new String(buf,0,len)); 注意:缓冲区变成字符串用toString String s=sb.toString
}
fr.close();
}
}
11.read()方式二
package cn.itcast;
import java.io.FileReader;
import java.io.IOException;
public class Demo15 {
public static void main(String[] args)throws IOException {
FileReader fr=new FileReader("test.txt");
int a=0;
while((a=fr.read())!=-1)
{
//System.out.println(a);//这打印的是对应的编码
System.out.println((char)a);//这个打印的是文件的内容 也就是原样输出
}
}
}
12:备注:
这里面有很对代码复用性以及在以后的格式都是这样,所以要必须理解记忆
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
//相当于newLine或"\r\n" 都是换行的意思;
1:IO流
是Input与Output的简称 也叫输入与输出;其中Output是写,Input是读;
IO技术就是用于处理设备上数据,用于设备间数据的传输;
2:IO流的体系:
字节流:
两个抽象基类:字节输入流InputStream 读 字节输出流 OutputStream 写
字符流:
两个抽象基类:字符输入流 Reader 字符输出流 Writer
由这四个体系派生出来的子类在名称定义上都有规律:是抽象基类就不可以new;
3:命名规范及特点:
所有的子类后缀名都是体系父类名。而前缀名就是这个子类对象的功能。
4:IO流的分类:
字节流和字符流;
5: 创建操作:
FileReader fr=new FileReader();
FileWriter fw=new FileWriter("Demo.txt")//创建一个文件
write()方法是将字符串数据写入到内部缓冲区中;
flush()是刷新缓冲区数据,在程序中可以执行多次;注:缓冲区满后也会自动刷新,
close()表示流资源已经关闭,而且程序里的close只能执行一次;
winddows里面的换行是”\r\t“; 例如:"abc\r\tdef" 打印出就是 (1)abc (2)def
read() 一次只能读取一个字符;返回-1就表示已经读到结尾;
read(char[] )将读到的字符存储到指定字符数组中;
6: flush()与close()的区别?
flush只是负责刷新,刷新完成后还可以继续使用,而且在程序中可以使用多次;
close()先刷新,然后将流关闭,close执行后流就关闭了,它在程序中只能用一次;
7:异常的处理:
使用try() catch() finally()
直接使用throws IOException(不建议使用,应该自己去处理异常,也就是使用try)
8:复制文件的两种方式:
复制的第一种方式
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTextTest {
static void main(String[] args) throws IOException {
/*
* 需求:对一个文本文件进行复制。
* 复制的原理:其实就是对源数据进行读取,并将读取的到数据写入到的目的文件中。
* 原来就是连读带写。
* 说明要用到输入流和输出流。
*
*/
//1,通过读取流和要复制的文件进行关联。明确 源!
FileReader fr = new FileReader("IO流.txt");
//2,明确目的,通过输出流明确目的文件。
FileWriter fw = new FileWriter("copy_1.txt");
//3,进行读写操作,要一边读,一边写。一次就操作一个字符。
int ch = 0; //定义变量
while((ch=fr.read())!=-1){
fw.write(ch);
}
fw.close();
fr.close(); //读的固定代码,强记
}
}
9:复制文件的两种方式:
复制的第二种方式使用数组 和抛出异常的处理规范代码
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTextByArrayTest {
/*
* 复制方式二:通过数组的形式。
*/
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader("IO流.txt");
fw = new FileWriter("copyt_2.txt");
//定义一个1024倍数长度的字符数组作为缓冲。
char[] buf = new char[1024];
int len = 0;
while((len=fr.read(buf))!=-1){
fw.write(buf,0,len);
}
}catch(IOException e){
}finally{
if(fw!=null){
try {
fw.close();
} catch (IOException e2) {
}
}
if(fr!=null){
try {
fr.close();
} catch (IOException e2) {
}
}
}
}
}
10:read(char[] );控制台打印出文件中的内容 (数组方式(方式一))
package cn.itcast.io.p1.charstream.read;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("demo.txt");
/*
* 使用 带数组参数的read方法。 read(char[]): 将读取到的字符存储到指定的字符数组中。
*/
// 先定义一个字符数组。该数组的长度最好是1024的整数倍。
char[] buf = new char[1024];
// 调用读取方法,将字符存储到数组中。
int len = 0;
while((len=fr.read(buf))!=-1){
System.out.println(new String(buf,0,len)); 注意:缓冲区变成字符串用toString String s=sb.toString
}
fr.close();
}
}
11.read()方式二
package cn.itcast;
import java.io.FileReader;
import java.io.IOException;
public class Demo15 {
public static void main(String[] args)throws IOException {
FileReader fr=new FileReader("test.txt");
int a=0;
while((a=fr.read())!=-1)
{
//System.out.println(a);//这打印的是对应的编码
System.out.println((char)a);//这个打印的是文件的内容 也就是原样输出
}
}
}
12:备注:
这里面有很对代码复用性以及在以后的格式都是这样,所以要必须理解记忆
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
//相当于newLine或"\r\n" 都是换行的意思;
相关文章推荐
- 黑马程序员——IO流
- 黑马程序员--Java基础--IO流
- 黑马程序员_IO流的要点整理
- 黑马程序员__JAVA基础__IO流(三)
- 黑马程序员-java中IO流的操作总结1
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员-IO流的小总结(上)
- 黑马程序员--------Java IO流学习总结
- 黑马程序员--java 基础之IO流 其他IO类 --08
- 黑马程序员—IO流缓冲区知识总结
- 黑马程序员-----IO流(第五篇)
- 黑马程序员--IO流之字节流
- 黑马程序员---自学随堂笔记----IO流
- 黑马程序员——IO流
- 黑马程序员_IO流BufferWriter、BufferReader
- 黑马程序员_IO流——BufferedWriter
- 黑马程序员——Java基础——IO流笔记(FileInputStream和FileOutputStream使用示例)
- 黑马程序员—IO流1
- 黑马程序员_IO流——合并流Sequeace
- 黑马程序员java笔记之四-----IO流