软件编程
位置:首页>> 软件编程>> java编程>> 使用BufferedReader读取本地文件的操作

使用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.输出结果为:

使用BufferedReader读取本地文件的操作

4.文件结构树:

使用BufferedReader读取本地文件的操作

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

使用BufferedReader读取本地文件的操作

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. 运行结果:

使用BufferedReader读取本地文件的操作

9. 打开: basic.out文件:

使用BufferedReader读取本地文件的操作

来源:https://blog.csdn.net/qq_42772927/article/details/91489234

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com