字节流对文件的操作更多适用于文件复制和传送,而字符流则注重于文件的读取分析操作

1:代码如下

public class IO {

    public static void main(String[] args) throws IOException {
        doReaderorWriter();
    }

    /**
     * 这是字节流的测试,操作不方便,不能像字符流那样子一行一行的操作,而且一般需要借助byte[]
     */
    public static void doStream() throws IOException{
        File fileinput = new File("C:/Users/Kin.Liufu/Desktop/一点小心得/changeNote.txt");
        if(!fileinput.exists()){
            System.out.println("你选择的文件不存在");
        }
        @SuppressWarnings("resource")
        FileInputStream fileInputStream = new FileInputStream(fileinput);

        byte[] bt = new byte[fileInputStream.available()]; 
        fileInputStream.read(bt);

        File fileoutput = new File("C:/Users/Kin.Liufu/Desktop/一点小心得/复制/" + fileinput.getName());
        File fileParent = new File(fileoutput.getParent());
        if (!fileParent.exists()) {
            fileParent.mkdirs();
        }
        @SuppressWarnings("resource")
        //这里的true表示在文章最后追加数据,而不删除原本的数据
        FileOutputStream fileOutputStream = new FileOutputStream(fileoutput,true);
        fileOutputStream.write(bt);
        System.out.println(bt.length);
    }

    /**
     *  这是字符流的测试,能一行一行的读取数据,便于分析,而且一般不需要借助byte[]
     */
    public static void doReaderorWriter() throws IOException{
        FileReader fileReader = new FileReader("C:/Users/Kin.Liufu/Desktop/一点小心得/changeNote.txt");

        //这里的true表示在文章最后追加数据,而不删除原本的数据
        FileWriter fileWriter = new FileWriter("C:/Users/Kin.Liufu/Desktop/一点小心得/复制/abc.txt",true);

        BufferedReader bt = new BufferedReader(fileReader);
        PrintWriter printWriter = new PrintWriter(fileWriter);
        String stringtemp = null;
        while((stringtemp = bt.readLine()) != null){
            printWriter.write(stringtemp);
            printWriter.flush();
            System.out.println(stringtemp);
        }

        System.out.println();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值