使用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文件:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JavaSE实现文件压缩与解压缩的技巧分享

    JavaSE实现文件压缩与解压缩的技巧分享

    我们在日常实际开发中,对于文件压缩和解压缩场景,是非常常见的操作,本文详细介绍JavaSE中文件压缩和解压缩的实现方法,包括源代码解析、应用场景案例、优缺点分析、案例演示、文末总结等等,请同学们耐心阅读
    2024-03-03
  • Java Stream流中的filter()使用方法举例详解

    Java Stream流中的filter()使用方法举例详解

    filter()是Java Stream API中的中间操作,用于根据给定的Predicate条件筛选流中的元素,它通过接收一个返回boolean值的函数(断言)作为参数,筛选出满足条件的元素并收集到新的流中,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • 详解Spring中singleton bean如何同时服务多个请求

    详解Spring中singleton bean如何同时服务多个请求

    这篇文章主要介绍了详解Spring中singleton bean如何同时服务多个请求
    2023-02-02
  • JAVA中使用双括号来初始化静态常量的小技巧

    JAVA中使用双括号来初始化静态常量的小技巧

    这篇文章主要介绍了JAVA中使用双括号来初始化静态常量的小技巧,需要的朋友可以参考下
    2014-06-06
  • JavaWeb之监听器案例讲解

    JavaWeb之监听器案例讲解

    这篇文章主要介绍了JavaWeb之监听器案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java中String.split()的最详细源码解读及注意事项

    Java中String.split()的最详细源码解读及注意事项

    以前经常使用String.split()方法,但是从来没有注意,下面这篇文章主要给大家介绍了关于Java中String.split()最详细源码解读及注意事项的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Spring Boot环境下Mybatis Plus的快速应用操作

    Spring Boot环境下Mybatis Plus的快速应用操作

    这篇文章主要介绍了Spring Boot环境下Mybatis Plus的快速应用操作,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • java多线程实现同步锁卖票实战项目

    java多线程实现同步锁卖票实战项目

    本文主要介绍了java多线程实现同步锁卖票实战项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • idea创建javaweb原生项目的实现示例

    idea创建javaweb原生项目的实现示例

    这篇文章主要介绍了idea创建javaweb原生项目的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • java 解析由String类型拼接的XML文件方法

    java 解析由String类型拼接的XML文件方法

    今天小编就为大家分享一篇java 解析由String类型拼接的XML文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论