使用BufferedReader讀取本地文件的操作
BufferedReader讀取本地文件
在使用BufferedWriter寫(xiě)入文件時(shí),如果忘記關(guān)閉文件(close)同時(shí)也沒(méi)有調(diào)用flush(),則被寫(xiě)入的文件中是沒(méi)有內(nèi)容的。
在關(guān)閉文件的同時(shí)系統(tǒng)會(huì)自動(dò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.測(cè)試類:
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+"\n"); } read.close(); System.out.println(sb); } }
3.輸出結(jié)果為:
4.文件結(jié)構(gòu)樹(shù):
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+"\n"); } 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)容寫(xiě)入文件:
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+"\n"); } 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. 打開(kāi): basic.out文件:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot版本升級(jí)以及解決springsecurity漏洞的問(wèn)題
這篇文章主要介紹了springboot版本升級(jí)以及解決springsecurity漏洞的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Java基礎(chǔ)知識(shí)精通二維數(shù)組的應(yīng)用
為了方便組織各種信息,計(jì)算機(jī)常將信息以表的形式進(jìn)行組織,然后再以行和列的形式呈現(xiàn)出來(lái)。二維數(shù)組的結(jié)構(gòu)決定了其能非常方便地表示計(jì)算機(jī)中的表,以第一個(gè)下標(biāo)表示元素所在的行,第二個(gè)下標(biāo)表示元素所在的列。下面簡(jiǎn)單了解一下二維數(shù)組,包括數(shù)組的聲明和初始化2022-04-04springMvc和mybatis-plus中枚舉值和字段的映射
這篇文章主要為大家介紹了springMvc和mybatis-plus中枚舉值和字段的映射示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05java Spring MVC4環(huán)境搭建實(shí)例詳解(步驟)
spring WEB MVC框架提供了一個(gè)MVC(model-view-controller)模型-視圖-控制器的結(jié)構(gòu)和組件,利用它可以開(kāi)發(fā)更靈活、松耦合的web應(yīng)用。MVC模式使得整個(gè)服務(wù)應(yīng)用的各部分(控制邏輯、業(yè)務(wù)邏輯、UI界面展示)分離開(kāi)來(lái),使它們之間的耦合性更低2017-08-08Java8中使用流方式查詢數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Java8中使用流方式查詢數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2016-01-01Mybatis中 mapper-locations和@MapperScan的作用
這篇文章主要介紹了Mybatis中 mapper-locations和@MapperScan的作用,mybatis.mapper-locations在SpringBoot配置文件中使用,作用是掃描Mapper接口對(duì)應(yīng)的XML文件,需要的朋友可以參考下2023-05-05Spring Boot實(shí)現(xiàn)跨域訪問(wèn)實(shí)現(xiàn)代碼
本文通過(guò)實(shí)例代碼給大家介紹了Spring Boot實(shí)現(xiàn)跨域訪問(wèn)的知識(shí),然后在文中給大家介紹了spring boot 服務(wù)器端設(shè)置允許跨域訪問(wèn) 的方法,感興趣的朋友一起看看吧2017-07-07