使用便捷的字符输入输出流,FileWriter,FileReader复制文本

上一节我们讲解了字符输入流字符输出流

InputStreamReader(InputStream inputstream)
InputStreamReader(InputStream inputstream , String charSetName)
OutputStreamWriter(OutputStream outputstream)
OutputStreamWriter(OutputStream outputstream , String charSetName )

使用这两个方法里面的参数是字节输入输出流 所以我们还要创建字节输入输出流对象
FileInputStream FileOutputStream

使用字符输入输出流结合字节输入输出流

主要是因为他们可以实现自定义的一个编码格式 就是自己可以选择使用 gbk utf-8 或者其他的编码解码格式

方法
自定义编码格式
InputStreamReader(InputStream inputstream , String charSetName)
自定义解码格式
OutputStreamWriter(OutputStream outputstream , String charSetName )

但是现在我们一般都使用系统自己默认的编码个解码格式 就没有必要那么麻烦
所以系统提供了更加简单的类
FileReader(String fileName)
FileWriter (String fileName)
实现读取/写入字符文件

但是当我们需要设置编码解码格式的时候还是要使用上面的 InputStreamReader OutputStreamWriter

代码

/*
        使用
        FileReader(String fileName)
        FileWriter (String fileName)
        复制a.tx文件到copy2a.txt
       */


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


        //创建read对象
        FileReader fr = new FileReader("C:\\Users\\Administrator\\IdeaProjects\\Day07\\a.txt");

        //创建writer对象
        FileWriter fw = new FileWriter("C:\\Users\\Administrator\\IdeaProjects\\Day07\\copy2a.txt");



        //一个字符一个字符的读取复制数据
        /*
        int data ;
        while ((data = fr.read()) != -1){
            fw.write((char) data);
        }

         */

        //一个字符数组一个字符数组的读取复制文件
        int len ;
        char chars[] = new char[1024];
        while ((len = fr.read(chars)) != -1){
            //开始写入数据
            fw.write(chars , 0 , len);
        }


        //释放资源
        fr.close();
        fw.close();


    }
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Java输入输出流是构建在基础输入输出流之上的一个抽象概念,它提供了对输入输出操作的高级抽象,可以让程序员更加便捷的进行输入输出操作。Java输入输出流提供了丰富的类,可以操作文件、网络、内存、设备等数据源,它们可以按照字节流或字符流的方式操作数据。 ### 回答2: Java 输入输出流是用于在程序中读取数据和写入数据的机制。在Java中,输入输出流是通过流的方式来实现数据的读取和写入。 输入流用于从外部获取数据,比如从键盘读取用户输入,或从文件中读取数据。常见的输入流有:System.in(标准输入流,即键盘输入)、FileInputStream(文件输入流,读取文件中的数据)等。通过输入流,可以将数据从外部输入到程序中。 输出流用于将程序中的数据输出到外部,比如将数据输出到控制台、写入文件等。常见的输出流有:System.out(标准输出流,即控制台输出)、FileOutputStream(文件输出流,将数据写入到文件中)等。通过输出流,可以将数据从程序中输出到外部。 Java输入流按照读取方式的不同可以分为字节流和字符流。字节流使用字节(8位)为单位进行数据传输,适合处理二进制文件或者文本文件。常见的字节流有:InputStream(字节输入流)、FileInputStream(文件输入流)等。字符使用字符(16位)为单位进行数据传输,适合处理文本文件。常见的字符流有:Reader(字符输入流)、FileReader文件字符输入流)等。 Java输出流同样也按照写入方式的不同可以分为字节流和字符流。字节流使用字节(8位)为单位进行数据传输,适合处理二进制文件或者文本文件。常见的字节流有:OutputStream(字节输出流)、FileOutputStream(文件输出流)等。字符使用字符(16位)为单位进行数据传输,适合处理文本文件。常见的字符流有:Writer(字符输出流)、FileWriter文件字符输出流)等。 通过使用Java输入输出流,我们可以在程序中灵活地读取外部数据和将程序数据输出到外部。这为我们处理各种类型的数据提供了方便和灵活性。同时,还需要注意在使用输入输出流后及时关闭流资源,以避免资源泄露和占用。 ### 回答3: Java输入输出流是在程序中进行输入和输出操作的一种方式,用来实现与外部设备的数据传输。 Java 提供了两种常用的输入输出流:字节流和字符流。字节流以字节为单位进行输入输出,字符流以字符为单位进行输入输出。字节流适用于二进制文件的读写,如图像、音频等文件字符流适用于文本文件的读写。 Java 的输入流用来将外部数据读入程序中,输出流用来将程序的数据输出到外部设备中。 常见的字节输入流有 InputStream 和其子类,如 FileInputStream,用于从文件中读取字节数据;常见的字符输入流有 Reader 和其子类,如 FileReader,用于从文件中读取字符数据。 常见的字节输出流有 OutputStream 和其子类,如 FileOutputStream,用于向文件中写入字节数据;常见的字符输出流有 Writer 和其子类,如 FileWriter,用于向文件中写入字符数据。 使用输入输出流的基本步骤是:创建输入输出流对象,打开数据源或目标文件,根据需要进行读取或写入操作,关闭流。 在读取或写入数据时,可以通过缓冲流来提高效率。BufferedInputStream 和 BufferedOutputStream 是字节缓冲流的实现类,BufferedReader 和 BufferedWriter 是字符缓冲流的实现类。 除了文件输入输出流外,Java 还提供了其他类型的输入输出流,如网络输入输出流和内存输入输出流,用于不同的应用场景。 总之,Java输入输出流是一种用于在程序中进行数据读写的方式,提供了丰富的输入输出流类和方法,能够满足不同的需求。熟练掌握输入输出流使用,对于开发Java应用程序是非常重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

508小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值