BufferedReader讀取本地文件
在使用BufferedWriter寫入文件時,如果忘記關(guān)閉文件(close)同時也沒有調(diào)用flush(),則被寫入的文件中是沒有內(nèi)容的。
在關(guān)閉文件的同時系統(tǒng)會自動調(diào)用flush()
try { File file=new File("c://aa.txt"); FileInputStream is=new FileInputStream(file); InputStreamReader reader=new InputStreamReader(is,"GBK"); BufferedReader br=new BufferedReader(reader); String line=null; while ((line=br.readLine())!=null) { System.out.println(line); } reader.close(); br.close(); is.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
BufferedReader 讀取文件內(nèi)容,原樣輸出
1.新建目標(biāo)類:
package com.xuzhiwen.io; public class TargetFile { public static void main(String[] args) { System.out.println("TargetFile.java"); } }
2.測試類:
package com.xuzhiwen.io; import java.io.BufferedReader; import java.io.FileReader; public class TestBufferedReader { public static void main(String[] args) throws Exception { String filepath = "src/com/xuzhiwen/io/TargetFile.java"; BufferedReader read = new BufferedReader(new FileReader(filepath)); String s; StringBuffer sb = new StringBuffer(); while((s=read.readLine()) != null){ sb.append(s+" "); } read.close(); System.out.println(sb); } }
3.輸出結(jié)果為:
4.文件結(jié)構(gòu)樹:
5. 將結(jié)果用StringReader再讀一次:
package com.xuzhiwen.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.StringReader; public class TestBufferedReader { public static void main(String[] args) throws Exception { String filepath = "src/com/xuzhiwen/io/TargetFile.java"; BufferedReader read = new BufferedReader(new FileReader(filepath)); String s; StringBuffer sb = new StringBuffer(); while((s=read.readLine()) != null){ sb.append(s+" "); } read.close(); System.out.println(sb); StringReader sr = new StringReader(sb.toString()); int c; while((c=sr.read()) != -1){ System.out.print((char)c); } } }
6. 運(yùn)行結(jié)果如下:
7. 將內(nèi)容寫入文件:
package com.xuzhiwen.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; import java.io.StringReader; public class TestBufferedReader { public static void main(String[] args) throws Exception { String filepath = "src/com/xuzhiwen/io/TargetFile.java"; BufferedReader read = new BufferedReader(new FileReader(filepath)); String s; StringBuffer sb = new StringBuffer(); while((s=read.readLine()) != null){ sb.append(s+" "); } read.close(); System.out.println(sb); System.out.println("=============================================="); StringReader sr = new StringReader(sb.toString()); int c; while((c=sr.read()) != -1){ System.out.print((char)c); } sr.close(); System.out.println("=============================================="); String file = "basic.out"; BufferedReader br = new BufferedReader(new StringReader(sb.toString())); PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); int lineCount = 1; String ss; while((ss=br.readLine()) != null){ pw.println(lineCount+": "+ss); lineCount++; } pw.close(); } }
8. 運(yùn)行結(jié)果:
9. 打開: basic.out文件:
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/qq_42772927/article/details/91489234