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();
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值