使用BufferedReader讀取本地文件的操作
更新時間:2021年07月21日 14:18:26 作者:qq_42772927
這篇文章主要介紹了使用BufferedReader讀取本地文件的操作,具有很好的參考價值,希望對大家有所幫助。
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+"\n");
}
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+"\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)容寫入文件:
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. 打開: basic.out文件:

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot版本升級以及解決springsecurity漏洞的問題
這篇文章主要介紹了springboot版本升級以及解決springsecurity漏洞的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Java基礎(chǔ)知識精通二維數(shù)組的應(yīng)用
為了方便組織各種信息,計算機(jī)常將信息以表的形式進(jìn)行組織,然后再以行和列的形式呈現(xiàn)出來。二維數(shù)組的結(jié)構(gòu)決定了其能非常方便地表示計算機(jī)中的表,以第一個下標(biāo)表示元素所在的行,第二個下標(biāo)表示元素所在的列。下面簡單了解一下二維數(shù)組,包括數(shù)組的聲明和初始化2022-04-04
springMvc和mybatis-plus中枚舉值和字段的映射
這篇文章主要為大家介紹了springMvc和mybatis-plus中枚舉值和字段的映射示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
java Spring MVC4環(huán)境搭建實(shí)例詳解(步驟)
spring WEB MVC框架提供了一個MVC(model-view-controller)模型-視圖-控制器的結(jié)構(gòu)和組件,利用它可以開發(fā)更靈活、松耦合的web應(yīng)用。MVC模式使得整個服務(wù)應(yīng)用的各部分(控制邏輯、業(yè)務(wù)邏輯、UI界面展示)分離開來,使它們之間的耦合性更低2017-08-08
Mybatis中 mapper-locations和@MapperScan的作用
這篇文章主要介紹了Mybatis中 mapper-locations和@MapperScan的作用,mybatis.mapper-locations在SpringBoot配置文件中使用,作用是掃描Mapper接口對應(yīng)的XML文件,需要的朋友可以參考下2023-05-05
Spring Boot實(shí)現(xiàn)跨域訪問實(shí)現(xiàn)代碼
本文通過實(shí)例代碼給大家介紹了Spring Boot實(shí)現(xiàn)跨域訪問的知識,然后在文中給大家介紹了spring boot 服務(wù)器端設(shè)置允許跨域訪問 的方法,感興趣的朋友一起看看吧2017-07-07

