使用BufferedReader读取本地文件的操作
作者:qq_42772927 时间:2021-10-15 03:22:47
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文件:
来源:https://blog.csdn.net/qq_42772927/article/details/91489234
标签:BufferedReader,读取,本地文件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java多线程通信:交替打印ABAB实例
2022-04-08 06:57:28
使用idea2017搭建SSM框架(图文步骤)
2023-04-30 15:28:59
![](https://img.aspxhome.com/file/2023/6/94746_0s.png)
JDK8并行流及串行流区别原理详解
2023-06-25 16:23:39
![](https://img.aspxhome.com/file/2023/1/89601_0s.png)
Android 静默安装实现方法
2021-08-04 05:11:25
JDK8中的HashMap初始化和扩容机制详解
2023-11-25 10:06:44
![](https://img.aspxhome.com/file/2023/2/60132_0s.jpg)
详解SpringBoot缓存的实例代码(EhCache 2.x 篇)
2023-04-05 04:55:18
![](https://img.aspxhome.com/file/2023/1/77931_0s.jpg)
浅谈JAVA如何生成UUID唯一标识
2023-08-12 20:45:03
C#使用Monitor类实现线程同步
2021-07-20 03:01:14
![](https://img.aspxhome.com/file/2023/3/67553_0s.png)
Java 8 动态类型语言Lambda表达式实现原理解析
2023-08-05 09:04:25
在多线程中调用winform窗体控件的实现方法
2023-09-13 09:07:43
java http token请求代码实例
2022-09-28 18:23:19
Mybatis分页插件PageHelper的配置和简单使用方法(推荐)
2022-03-20 06:34:55
源码解析JDK 1.8 中的 Map.merge()
2023-11-16 23:49:25
详解Spring中bean的几种注入方式
2023-02-12 20:25:07
Java中Future和FutureTask的示例详解及使用
2023-01-29 11:48:42
![](https://img.aspxhome.com/file/2023/6/69296_0s.png)
SpringBoot整合Echarts实现用户人数和性别展示功能(详细步骤)
2023-02-22 00:31:59
![](https://img.aspxhome.com/file/2023/0/66530_0s.png)
Android拍照或从图库选择图片并裁剪
2023-07-01 08:21:45
深入探究Spring底层核心原理
2023-03-05 08:32:16
Java单例模式分析
2023-11-16 03:17:06
Android实现语音播放与录音功能
2022-01-21 15:39:09