转换流读写文件中的数据

本文通过具体示例,展示了如何使用Java的InputStreamReader和OutputStreamWriter进行字节流与字符流之间的转换,包括创建使用特定编码的OutputStreamWriter写入字符到文件,以及使用InputStreamReader从文件中读取字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.*;

/*
    InputStreamReader:是从字节流到字符流的桥梁
        它读取字节,并使用指定的编码将其解码为字符
        它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集

    OutputStreamWriter:是从字符流到字节流的桥梁
        是从字符流到字节流的桥梁,使用指定的编码将写入的字符编码为字节
        它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集
 */
public class ConversionStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos=new FileOutputStream("day09\\1.txt");
        //创建一个使用GBk编码的OutputStreamWriter
        OutputStreamWriter osw=new OutputStreamWriter(fos,"GBK");
        osw.write(97);
        char[] c={'我','爱','你'};
        osw.write(c);
        osw.write("中国");
        osw.close();
        FileInputStream fis=new FileInputStream("day09\\1.txt");
        //创建一个使用默GBK字符集的InputStreamReader
        InputStreamReader isr=new InputStreamReader(fis,"GBK");
        //一次读取一个字符
        int i;
        while ((i=isr.read())!=-1){
            System.out.print((char)i);
        }
        isr.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值