JavaIO使用带有缓冲的字符流读写数据

mac2022-06-30  21

【声明】本文参考自极客学院视频 1、带缓冲读文件,无换行

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; public class RWByBufferCharStream { public static void main(String[] args) { try { //File file=new File("java.txt"); FileInputStream fis=new FileInputStream("java.txt"); FileOutputStream fos=new FileOutputStream("java_new.txt"); InputStreamReader isr=new InputStreamReader(fis, "utf-8"); OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");//对同一个文件的读写编码方式要一致 BufferedReader br=new BufferedReader(isr); BufferedWriter bw=new BufferedWriter(osw); String input; while ((input=br.readLine())!=null) { bw.write(input); } bw.flush();//将缓冲器数据强制输出 bw.close(); br.close(); osw.close(); fos.close(); isr.close(); fis.close(); System.out.println("done"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

2、带缓冲读文件,有换行

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; public class RWByBufferCharStream { public static void main(String[] args) { try { //File file=new File("java.txt"); FileInputStream fis=new FileInputStream("java.txt"); FileOutputStream fos=new FileOutputStream("java_new.txt"); InputStreamReader isr=new InputStreamReader(fis, "utf-8"); OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");//对同一个文件的读写编码方式要一致 BufferedReader br=new BufferedReader(isr); //BufferedWriter bw=new BufferedWriter(osw); PrintWriter pw=new PrintWriter(osw,true); String input; while ((input=br.readLine())!=null) { //bw.write(input); pw.println(input); } //BufferedWriter无自动flush构造函数 //bw.flush();//将缓冲器数据强制输出 //bw.close(); pw.close(); br.close(); osw.close(); fos.close(); isr.close(); fis.close(); System.out.println("done"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
最新回复(0)