有关字节字符输入输出的自我小结

今天学习了IOl流的基本操作,趁热打铁巩固一下

  • 字节流读入与写入
  • 字符流读入与写入
  • 进行txt文本复制(同编码与不同编码)
  • 进行文件复制 (老师课堂要求的尝试)

首先放出"D:/file/"中的文件图片
在这里插入图片描述
然后,代码:

import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
        File file=new File("D:/file/0517.txt");
        //字节流读入
//        FileInputStream fis=new FileInputStream(file);
//        BufferedInputStream bis=new BufferedInputStream(fis);
//        byte[] byt=new byte[1024];
//        int len=0;
//        while((len=bis.read(byt))!=-1){
//            System.out.println(new String(byt,0,len));
//        }
//        bis.close();
//        fis.close();

        //字节流写入
//        FileOutputStream fos=new FileOutputStream(file,true);
//        BufferedOutputStream bos=new BufferedOutputStream(fos);
//        String str="\n这是五月一十七日的输出测试样例!";
//        byte[] byt=str.getBytes();
//        bos.write(byt);
//        bos.close();
//        fos.close();


        //字符流读入
//        FileReader fr=new FileReader(file);
//        BufferedReader br=new BufferedReader(fr);
//        String str="";
//        while((str=br.readLine())!=null){
//            System.out.println(str);
//        }
//        br.close();
//        fr.close();


        //字符流写入
//        FileWriter fw=new FileWriter(file);
//        BufferedWriter bw=new BufferedWriter(fw);
//        String str="这是五月一十七日的输出测试样例!";
//        bw.write(str);
//        bw.close();
//        fw.close();



//        进行复制txt文本!(使用字符流形式)
        /*
        File file1=new File("D:/file/0517复制.txt");
        FileReader fr=new FileReader(file);
        BufferedReader br=new BufferedReader(fr);
        FileWriter fw=new FileWriter(file1);
        BufferedWriter bw=new BufferedWriter(fw);
        String str="";
        while((str=br.readLine())!=null){
            bw.write(str);
        }
        br.close();
        fr.close();
        bw.close();
        fw.close();
         */


//        不同编码之间进行复制txt文本!(使用字符流形式)
//        File file1=new File("D:/file/出师表.txt");
//        FileInputStream fis=new FileInputStream(file1);
//        InputStreamReader isr=new InputStreamReader(fis,"UTF-16");
//        BufferedReader br=new BufferedReader(isr);
//
//        FileOutputStream fos=new FileOutputStream("D:/file/出师表复制.txt");
//        Writer w=new OutputStreamWriter(fos,"UTF-8");
//        BufferedWriter bw=new BufferedWriter(w);
//
//        String s="";
//        while((s=br.readLine())!=null){
//            bw.write(s);
//        }
//        fis.close();
//        bw.close();
//        fos.close();


        //进行复制文件!(使用字节流形式)
        File file2=new File("D:/file/v2-76af40a63fd1acb81b00f293469a7f61_r(ocr).pdf");
        FileInputStream fis=new FileInputStream(file2);
        BufferedInputStream bis=new BufferedInputStream(fis);
        File file1=new File("D:/file/pdf复制测试.pdf");
        FileOutputStream fos=new FileOutputStream(file1);
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        byte[] byt=new byte[1024];
        int len=0;
        while((len=bis.read(byt))!=-1){
            bos.write(byt,0,len);
        }
        //输出流必须关闭最外面的,否则不确定是否传输完数据
        bos.close();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值