IO流基础特性 使用缓冲技术复制文本文件原理浅析
2014-10-17 17:33
309 查看
1.创建一个字符输入流对象FileReader fr = new FileReader("source.txt");
并将该流对象与要读取的源文件进行关联。
2.创建一个缓冲字符输入流,将字符输入流对象作为其构造函数参数传递,表明缓冲该流对象
BufferedReader bufr = new BufferedReader(fr);
3.创建一个字符输出流对象 FileWriter fw = new FileWriter("Target.txt");
4.创建一个字符缓冲字符输出流对象BufferedWriter = bufw = new BufferedWriter(fw);
5.先通过Reader的read()方法,将文本文件一个字符一个字符的存入缓冲字符输入流对象的缓冲区中,
其实缓冲字符流的缓冲区其实就是一个数组 (这一步是底层操作,不需要在代码中显示)
6.然后通过bufr.read() 这个read()方法是从缓冲区中读取文本文件,所以该方法覆盖了父类的read方法
7.其实现在已经可以对文本数据进行操作,但是根据文本文件的“行”特点,可以对文本进行一行一行读取
所以缓冲流对象又有了一个新方法 readLine()
8.所以在bufr.read()时,将一行数据读取到一个临时容器中
然后通过readLine()方法,将这一行数据读取出来
String line = null;
line = bufr.readLine();
9.然后再将行数据从缓冲字符输出流的缓冲区中写入目标文件中去
bufw.write(line);该write方法就是父类Writer的方法
代码实例:
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("source.txt");
BufferedReader bufr = new BufferedReader(fr);
FileWriter fw = new FileWriter("Target.txt");
BufferedWriter bufw = new BufferedWriter(fw);
String line = null;
while((line = bufr.readLine()) != null){
bufw.write(line);
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();
}
并将该流对象与要读取的源文件进行关联。
2.创建一个缓冲字符输入流,将字符输入流对象作为其构造函数参数传递,表明缓冲该流对象
BufferedReader bufr = new BufferedReader(fr);
3.创建一个字符输出流对象 FileWriter fw = new FileWriter("Target.txt");
4.创建一个字符缓冲字符输出流对象BufferedWriter = bufw = new BufferedWriter(fw);
5.先通过Reader的read()方法,将文本文件一个字符一个字符的存入缓冲字符输入流对象的缓冲区中,
其实缓冲字符流的缓冲区其实就是一个数组 (这一步是底层操作,不需要在代码中显示)
6.然后通过bufr.read() 这个read()方法是从缓冲区中读取文本文件,所以该方法覆盖了父类的read方法
7.其实现在已经可以对文本数据进行操作,但是根据文本文件的“行”特点,可以对文本进行一行一行读取
所以缓冲流对象又有了一个新方法 readLine()
8.所以在bufr.read()时,将一行数据读取到一个临时容器中
然后通过readLine()方法,将这一行数据读取出来
String line = null;
line = bufr.readLine();
9.然后再将行数据从缓冲字符输出流的缓冲区中写入目标文件中去
bufw.write(line);该write方法就是父类Writer的方法
代码实例:
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("source.txt");
BufferedReader bufr = new BufferedReader(fr);
FileWriter fw = new FileWriter("Target.txt");
BufferedWriter bufw = new BufferedWriter(fw);
String line = null;
while((line = bufr.readLine()) != null){
bufw.write(line);
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();
}
相关文章推荐
- Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)
- Java基础知识强化之IO流笔记39:字符流缓冲流之复制文本文件案例01
- Java基础---Java---IO流-----LineNumberReader方法及原理、自定义一个LineNumberReader、字节流、图片复制、mp3复制、
- C++STL技术原理浅析与应用基础之vector
- JAVA基础再回首(二十一)——递归、IO流概述、字节流写数据、读取数据、复制数据、字节缓冲流
- java基础45 IO流技术(输入字符流/缓冲输入字符流)
- 网路基础 — 浅析I/O多路转接之epll技术原理
- Java基础---Java---IO流-----LineNumberReader方法及原理、自定义一个LineNumberReader、字节流、图片复制、mp3复制、
- IO流_字符缓冲流复制文本文件案例1
- Java基础知识强化之IO流笔记43:IO流练习之 复制文本文件的 5 种方式案例
- java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理
- 黑马程序员_基础_IO流学习笔记_文本文件读取及复制、字符流的缓冲区和装饰设计模式
- Java基础知识强化之IO流笔记38:字符流缓冲流之BufferedWriter / BufferedReader使用
- Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1
- IO流_字符缓冲流复制文本文件案例2
- Java基础之IO流,使用字符流缓冲区复制文件
- 基础_IO流学习笔记_文本文件读取及复制、字符流的缓冲区和装饰设计模式
- Java基础知识强化之IO流笔记36:InputStreamReader/OutputStreamWriter 复制文本文件案例
- Java基础知识强化之IO流笔记37:FileReader/FileWriter(转换流的子类)复制文本文件案例
- 14-IO流(字符流-缓冲区-BufferedReader-readLine方法原理) 15-IO流(字符流-缓冲区-复制文本文件).