BufferedStream输入输出缓冲流的使用
2018-03-15 03:02
113 查看
输入输出缓冲流
运用输入输出缓冲流复制文本
输入输出缓冲流的特殊功能
5种方法实现文本复制
package com.Brooke03; /* * 输入输出缓冲流 */ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class BufferedStreamDemo1 { public static void main(String[] args) throws IOException { //创建输出缓冲流 BufferedWriter bw = new BufferedWriter(new FileWriter("BufferedDemo1.txt")); //创建输入缓冲流 BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo1.java")); BufferedReader br1 = new BufferedReader(new FileReader("FileWriterDemo3.java")); //写数据 bw.write("helloworld!"); //读数据 //一次读写一个字符 int cha; while((cha = br.read()) != -1) { System.out.print((char)cha); } //一次读写一个字符数组 char[] chs = new char[1024]; int len; while((len = br1.read(chs)) != -1) { System.out.println(new String(chs,0,len)); } //释放资源 bw.close(); br.close(); br1.close(); } }
运用输入输出缓冲流复制文本
package com.Brooke03; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * 运用输入输出缓冲流复制文本 */ public class BufferedStreamDemo2 { public static void main(String[] args) throws IOException { //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter("BufferedDemo2.txt")); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo1.java")); BufferedReader br1 = new BufferedReader(new FileReader("FileWriterDemo1.java")); //一次读写一个字符 int cha; while((cha = br.read()) != -1) { bw.write(cha); } //一次读写一个字符数组 char[] chs = new char[1024]; int len; while((len = br1.read(chs)) != -1) { bw.write(chs, 0, len); } //释放资源 bw.close(); br.close(); br1.close(); } }
输入输出缓冲流的特殊功能
package com.Brooke03; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * 输入输出缓冲流的特殊功能 * BufferedWriter: * void newLine(); 换行 * BufferedReader: * String readLine(); 读取一行数据,不读取换行符 */ public class BufferedStreamDemo3 { public static void main(String[] args) throws IOException { //创建数出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter("BUfferedDemo3.txt")); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader("helloworld.txt")); //void newLine(); for(int x=0;x<10;x++) { bw.write("helloworld"+x); bw.newLine(); //换行 bw.flush(); } //String readLine(); //读取一行数据,不读取换行符 String line; while((line = br.readLine()) != null) { System.out.println(line); } //释放资源 bw.close(); br.close(); } }
5种方法实现文本复制
package com.Brooke04; /* * 5种方法实现文本复制 */ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class CopyFile { public static void main(String[] args) throws IOException { String destFileName = "FileWriterDemo3.java"; String srcFileName = "CopyFile.txt"; method1(srcFileName,destFileName); method2(srcFileName,destFileName); method3(srcFileName,destFileName); method4(srcFileName,destFileName); method5(srcFileName,destFileName); } //基本流一次读写一个字符 public static void method1(String srcFileName,String destFileName) throws IOException { //创建输出流对象 FileWriter fw = new FileWriter("srcFileName"); //创建输入流对象 FileReader fr = new FileReader("destFileName"); int chs; while((chs = fr.read()) != -1) { fw.write(chs); fw.flush(); } fw.close(); fr.close(); } //基本流一次读写一个字符数组 public static void method2(String srcFileName,String destFileName) throws IOException { //创建输出流对象 FileWriter fw = new FileWriter("srcFileName"); //创建输入流对象 FileReader fr = new FileReader("destFileName"); char[] chs = new char[1024]; int len; while((len = fr.read(chs)) != -1) { fw.write(chs, 0, len); fw.flush(); } fw.close(); fr.close(); } //缓冲流一次读写一个字符 public static void method3(String srcFileName,String destFileName) throws IOException { //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter(srcFileName)); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader(destFileName)); int chs; while((chs = br.read()) != -1) { bw.write(chs); bw.flush(); } bw.close(); br.close(); } //缓冲流一次读写一个字符数组 public static void method4(String srcFileName,String destFileName) throws IOException { //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter(srcFileName)); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader(destFileName)); char[] chs = new char[1024]; int len; while((len = br.read(chs)) != -1) { bw.write(chs, 0, len); bw.flush(); } bw.close(); br.close(); } //重点:缓冲流特殊功能复制文本. public static void method5(String srcFileName,String destFileName) throws IOException { //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter(srcFileName)); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader(destFileName)); String line; while((line = br.readLine()) != null) { bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close(); } }
相关文章推荐
- 缓冲流-BufferedXXXXStream
- java 使用FileInputStream,FileReader,BufferedStream读写记事本文件的例子
- 使用ifstream ofstream重定向输入输出 c++
- Java基础—IO小结(二)缓冲流与其它流的使用
- Go语言中使用 buffered channel 实现线程安全的 pool
- 使用readline模块如何实现Node.js的输入输出?
- nginx使用stream反向代理mysql
- (转)java getResourceAsStream的使用方法
- 使用hibernate心得——字符串超长的解决办法(setCharacterStream出现顺序问题)
- 解决IE在客户端使用ADODB.Stream不能创建对象成功的方法
- 使用getResourceAsStream
- XMPP使用---XMPPStream( 二)
- <sstream>中的 stringsstream 使用说明
- Nodejs Stream 数据流使用手册
- Cocoa Stream 系列2---NSInputStream的使用
- ppstream for linux 使用过程中发现的问题和解决方案
- 使用aforge的AVIWriter打开或创建文件异常Failed creating compressed stream的解决办法
- Android中使用BufferedReader.readline阻塞读取不到数据,但是ready返回true
- java 8 stream 的使用小总结