java字符流读取写入文件

inputstreamreader的read方法返回的是一个int,代表读取到的数据长度,可以将读取到的数组保存到一个char数组中,然后输出,一般都套用bufferedreader,缓冲流,read方法都方便好用,读取保存到string只需要使用readline。

代码中,先创建控制台输入对象scan,然后建立字节流与文件file连接,用字符流inputstreamreader包装字节流,同时设定字符集,再用bufferedreader类包装,就可以方便的进行读取文件。
写入也是一样,先建立最基础的文件的输出流连接,然后字符流包装,再缓冲bufferedriter类包装。

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.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class CharRWStreamTest01 {

    public static void main(String[] args) {

        File file=new File("Text.txt");
        File file2=new File("Text1.txt");
        Scanner scan=new Scanner(System.in); 
        try {
            InputStream fis=new FileInputStream(file);
            InputStreamReader isr=new InputStreamReader(fis, "utf-8");
            BufferedReader br=new BufferedReader(isr);
            OutputStream os=new FileOutputStream(file2,false);
            OutputStreamWriter osw=new OutputStreamWriter(os, "utf-8");
            BufferedWriter bw=new BufferedWriter(osw);
            String ss;
            while((ss=br.readLine())!=null){                
                bw.write(ss);
                bw.write("\n");
            }
            bw.flush();
            br.close();
            isr.close();
            fis.close();
            bw.close();
            osw.close();
            os.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页