使用BufferedReader读取本地文件的操作
更新时间:2021年07月21日 14:18:26 作者:qq_42772927
这篇文章主要介绍了使用BufferedReader读取本地文件的操作,具有很好的参考价值,希望对大家有所帮助。
BufferedReader读取本地文件
在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。
在关闭文件的同时系统会自动调用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 读取文件内容,原样输出
1.新建目标类:
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.输出结果为:

4.文件结构树:

5. 将结果用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. 运行结果如下:

7. 将内容写入文件:
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. 运行结果:

9. 打开: basic.out文件:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java Stream流中的filter()使用方法举例详解
filter()是Java Stream API中的中间操作,用于根据给定的Predicate条件筛选流中的元素,它通过接收一个返回boolean值的函数(断言)作为参数,筛选出满足条件的元素并收集到新的流中,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-11-11
详解Spring中singleton bean如何同时服务多个请求
这篇文章主要介绍了详解Spring中singleton bean如何同时服务多个请求2023-02-02
Java中String.split()的最详细源码解读及注意事项
以前经常使用String.split()方法,但是从来没有注意,下面这篇文章主要给大家介绍了关于Java中String.split()最详细源码解读及注意事项的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下2022-07-07
Spring Boot环境下Mybatis Plus的快速应用操作
这篇文章主要介绍了Spring Boot环境下Mybatis Plus的快速应用操作,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11


最新评论