使用BufferedReader读取本地文件的操作
作者:qq_42772927 发布时间:2021-10-15 03:22:47
标签: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文件:
来源:https://blog.csdn.net/qq_42772927/article/details/91489234


猜你喜欢
- Drawable天天用,可你是否对Drawable家族有一个完整的认知?今天我们就来系统的学习一下Drawable的使用。1.概述用过Dra
- 在很多场景中我们需要验证时间日期的是否属于正确的格式,验证时间是否符合常规的。1、验证 yyyy-MM-dd HH:mm:dd 格式的日期S
- 将脚本挂在要判断声音是否播放完毕的物体上using System.Collections;using UnityEngine;using U
- 写在前面Linux:CentOS7.5Spark: spark-3.0.0-bin-hadoop3.2IDE:IntelliJ IDEA20
- 1.由json字符串转换成Map对象如json字符串:{"contend":[{"bid":&quo
- 目录一、log4j简介1、Loggers2、Appenders3、Layouts二、配置详解1、配置根Logger:2、配置日志信息输出目的
- 1. 定义栈:线程运行时需要的内存空间,一个栈存在多个栈帧。栈具有先入后出,后入先出的特点。栈帧:每个方法运行时需要的内存(局部变量表、操作
- 本文实例为大家分享了C#实现语音播报功能的具体代码,供大家参考,具体内容如下环境:window10vs2019 16.5.5.netfram
- 前言以前我们还需要手写数据库设计文档、现在可以通过引入screw核心包来实现Java 数据库文档一键生成。话不多说、直接上代码演示。支持的数
- 对于因为编程错误而导致的异常,或者是不能期望程序捕获的
- 本文实例为大家分享了Java实现聊天室界面的具体代码,供大家参考,具体内容如下服务器端:package Server; impor
- 引言上一节讲面试中被问到分布式系统概念相关的,讲完了分布式系统的概念,优点缺点和 RPC 后,我以为这个问题就到此结束了,没想到成功给自己挖
- 引入spring-cloud-starter-openfeign失败引入下面jar包总是报错jar包丢失<dependency>
- 在一个比较坑的需求里,一段文字右上角需要追加一个圆形红点。最右侧有个金额,红点动态随着文字移动,然后各种摆布局,一下午坑死我了。后来果断放弃
- TextWatcher是一个监听字符变化的类。当我们调用EditText的addTextChangedListener(TextWatche
- 本文为大家分享了WebSocket实现Web聊天室的具体代码,供大家参考,具体内容如下一.客户端JS代码如下:/* * 这部分
- 本文实例讲述了C#操作注册表的方法。分享给大家供大家参考,具体如下:下面我们就来用.NET下托管语言C#注册表操作,主要内容包括:注册表项的
- 在使用NavigationPage导航的时候, 我们可以给里面添加一些功能按钮, 如下所示:<ContentPage.ToolbarI
- 1.其中包括下载JDBC FRO Microsft SQL_Server2000的驱动程序(在微软官方网站下的,是sp3版的,这里就不写具体
- 我们都知道EditText与TextView是Android的文本输入框和文本显示框,但是基于手机屏幕的大小因素,如果在需要输入较多文字或者