java进阶_字符流

字符流

输入流与输出流

​ 字节输入流:InputStream:字节输入流的所有类的超类。

​ 字节输出流:OutputStream:输出字节流的所有类的超类

​ 字符输入流:Reader:字符输入流的所有类的超类。

​ 字符输出流:Writer:输出字符流的所有类的超类

字符输入流读取文本文件

  • 使用字符输入流读取文本文件,要先设置好编码格式,我们在读取数据时,就不用担心编码转换的问题

代码演示

package com.tian.text;

import java.io.*;

public class Test3 {
    public static void main(String[] args) throws IOException {
        // InputStreamReader reader = new FileReader("D:\file1\1.txt");
        Reader reader = new InputStreamReader(new FileInputStream("D:\\file1\\1.txt"), "UTF-8");
        char[] data = new char[1024];
        int len = -1;
        while ((len = reader.read(data)) != -1) {
            System.out.println(new String(data, 0, len));
        }
        reader.close();
    }
}

字符输出流

  • 字符输出流,写出数据到文件
package com.tian.text;

import java.io.*;

public class Test3 {
    public static void main(String[] args) throws IOException {
        // Writer writer = new FileWriter("D:\\file1\\1.txt");
        OutputStream output = new FileOutputStream("D:\\file1\\1.txt");
        Writer writer = new OutputStreamWriter(output, "UTF-8");
        writer.write("我想试试FileWriter能不能写出数据-------------------------------------");
        writer.flush();// 保存的动作		  还可以继续写数据
        writer.close();// 关闭+保存的动作   一旦关闭就不能写数据
    }
}

复制文本文件

代码演示

package com.tian.text;

import java.io.*;

public class Test3 {
    public static void main(String[] args) throws IOException {
        //InputStream input = new FileInputStream("D:\\file1\\1.txt");
       // Reader reader = new InputStreamReader(input, "UTF-8");
        System.out.println("------上面第一种reader,可以设置编码-------");
        FileReader reader = new FileReader("D:\\file1\\1.txt");
        Writer writer = new FileWriter("D:\\file2\\2.txt");
        char[] data = new char[1024];
        int len = -1;
        while ((len = reader.read(data)) != -1) {
            writer.write(data, 0, len);
        }
        writer.close();
        reader.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值