JAVA学习第四十八课 — IO流(二):文件的复制 & 缓冲区1
2014-10-25 00:12
435 查看
一、复制文本文件
将G盘的文本文件复制到D盘上
也就是 读取G盘中文本文件的数据,写入D盘中->连读带写
而剪切呢,就是连读带写后,删除原盘的文件
一个文件如果正在使用,是不能被删除的,所以注意要将这两个动作关联起来
二、字符流的缓冲区
实际上,上面的char[]数组就是一个缓冲区,缓冲区的出现提高了对数据的读取效率
BufferedWriter类、BufferedReader类
前提:缓冲区必须结合流才能使用
作用:在流的基础上对流的功能进行了增强
BufferWriter类演示
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
特有方法:newLine()
BufferedReader类演示
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
特有方法:readLine()
注意:
readLine()方法:使用了读取缓冲区的read方法,将读取到的字符进行缓冲并判断换行标记,将标记前的缓冲数据变成字符串并返回
将G盘的文本文件复制到D盘上
也就是 读取G盘中文本文件的数据,写入D盘中->连读带写
而剪切呢,就是连读带写后,删除原盘的文件
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { FileReader fr = null; FileWriter fw = null; try { fr = new FileReader("G盘.txt"); fw = new FileWriter("D:\\ACM.txt"); char[] ch = new char[1024];//缓存读取的数据 int t ; while((t = fr.read(ch))!=-1){ fw.write(ch,0,t); } } catch (Exception e) { System.out.println("读写失败"); }finally{ if(fw!=null) { try { fw.close(); } catch (Exception e2) { throw new RuntimeException(); } } if(fr!=null){ try { fr.close(); } catch (Exception e2) { throw new RuntimeException(); } } } } }</strong></span>
一个文件如果正在使用,是不能被删除的,所以注意要将这两个动作关联起来
二、字符流的缓冲区
实际上,上面的char[]数组就是一个缓冲区,缓冲区的出现提高了对数据的读取效率
BufferedWriter类、BufferedReader类
前提:缓冲区必须结合流才能使用
作用:在流的基础上对流的功能进行了增强
BufferWriter类演示
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
特有方法:newLine()
<span style="font-family:KaiTi_GB2312;font-size:18px;">import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("ACM.txt"); //创建一个字符写入流的缓冲区对象,并和指定要被缓冲的流对象相关联 BufferedWriter bw = new BufferedWriter(fw); //使用缓冲去的方法,将数据写入到缓冲区中 bw.write("ACM。。。。"); bw.newLine();//实际上 System.getproperty("line.separator"); bw.write("acm"); //在用缓冲去的刷新方法,将数据写入目的地 bw.newLine(); bw.flush(); for(int i = 0;i<5;i++){ bw.write("1111"); bw.newLine(); bw.flush(); } //关闭缓冲区,其实关闭的就是被缓冲的流对象fw bw.close(); } } </span>
BufferedReader类演示
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
特有方法:readLine()
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { FileReader fr = new FileReader("ACM.txt"); BufferedReader br = new BufferedReader(fr); String str = null; while((str = br.readLine())!= null){ System.out.println(str); } br.close(); } } </strong></span>
注意:
readLine()方法:使用了读取缓冲区的read方法,将读取到的字符进行缓冲并判断换行标记,将标记前的缓冲数据变成字符串并返回
相关文章推荐
- JAVA学习第四十八课 — IO流(二):文件的复制 & 缓冲区1
- Java基础之IO流,通过字节流缓冲区进行媒体文件的复制操作
- java学习例题之IO流的字节数组复制文件
- java学习---------IO流学习---文件流inputstream outputstream(三)实现文件和文件夹的复制 删除
- Java基础之IO流,使用字符流缓冲区复制文件
- Java IO学习【8】利用缓冲区进行文件的复制
- JAVA学习第四十九课 — IO流(三):缓冲区2 & 装饰设计模式
- java例题学习之IO流复制文件练习
- Java IO 实现文件复制 -Java 学习笔记 (25)
- 今天看到了一个用java实现复制,剪切,删除文件或文件夹的示例,感觉不错,欢迎学习(带详细注释)
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- IO流__【概述】【字符文件的读写和复制】【字符流缓冲区】
- java 实现指定文件的复制和 拷贝
- 黑马程序员_基础_IO流学习笔记_文本文件读取及复制、字符流的缓冲区和装饰设计模式
- JAVA基础,IO流。(文件复制的实现)
- java中最简单的文件复制,读写(IO流操作)
- 学习之使用Java IO 来实现复制文件的操作
- Java学习笔记之文件的复制
- 黑马程序员_Java基础_IO流_字节流,字节流操作文件,缓冲区字节流,流的使用规律,异常记录原理
- Java基础之IO流,通过字节流对媒体文件进行复制操作