java Buffer IO读写txt文件,无乱码模板,直接可用!

版权声明:支持原创,注明出处。 https://blog.csdn.net/qq_38584967/article/details/82874073

前言

这个是方便自己用才写的博客,没有什么技术含量,如果帮助你了很高兴。
内容部分参考:https://blog.csdn.net/qq_36868342/article/details/76577758

PS:如果你使用时依旧存在乱码情况,请为读取和写入的txt文件设置编码模式,保证文件编码一致并和代码读写的编码相同(txt文件内ANSI相当于GBK编码)。设置编码代码:new InputStreamReader(new FileInputStream(file),“utf-8”)。

代码内容

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;

public class Test {

    public static void main(String[] args) {        
        // 使用高层流读取文件
        File file = new File("D:/test/Response.txt");
        File outFile = new File("D:/test/test.txt");
        Reader reader = null;
        Writer writer = null;
        BufferedReader br = null;
        BufferedWriter bw = null;
        try {
            // 构造基础流
            reader = new InputStreamReader(new FileInputStream(file),"utf-8");
            writer = new OutputStreamWriter(new FileOutputStream(outFile),"utf-8");
            // 在基础流之上构造高层流
            br = new BufferedReader(reader);
            bw = new BufferedWriter(writer);
            // 读到的一行
            String line = null;
            while ((line = br.readLine()) != null) {
//                System.out.println("读到: " + line);
                bw .write(line + "\r\n");
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 先关闭高层流
            if (br != null) {
                try {
                    br.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (bw != null) {
                try {
                    bw.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            // 关闭基础流
            if (reader != null) {
                try {
                    reader.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (writer != null) {
                try {
                    writer.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38584967/article/details/82874073