转换流在java中的两种类

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.InputStreamReader类

1)概念

转换流 java.io.InputStreamReader ,是Reader的子类,,读取字节并使用指定的字符集将其解码为字符。它的字符集可以自定义,也可以用平台的默认字符集。

2)构造方法

InputStreamReader(InputStreamin):创建一个使用默认字符集的字符流。
InputStreamReader(InputStreamin,StringcharsetName):创建一个指定字符集的字符流。

3)实例

publicclassDemo02{
publicstaticvoidmain(String[]args)throwsIOException{
//明确数据源
FileInputStreamfis=newFileInputStream("D:\\java\\a.txt");
//创建转换流对象
InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");
intlen=0;
char[]ch=newchar[1024];
//开始读
while((len=isr.read(ch))!=-1){
System.out.println(newString(ch,0,len));//若是不写0和len就转为1024个字节,后面的为空格代替
}
//释放资源
isr.close();
}
}

2.ObjectOutputStream类

1)概念

java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。

2)构造方法

OutputStreamWriter(OutputStreamin):创建一个使用默认字符集的字符流。
OutputStreamWriter(OutputStreamin,StringcharsetName):创建一个指定字符集的字符流。

3)实例

publicclassDemo01{
publicstaticvoidmain(String[]args)throwsIOException{
//明确目的地
FileOutputStreamfos=newFileOutputStream("D:\\java\\a.txt");
//创建转换流对象默认GBK
OutputStreamWriterosw=newOutputStreamWriter(fos,"UTF-8");
//写入字符
osw.write("你好");
osw.flush();
//释放资源(功能流需要关,这里的fos被osw调用的,不需要咱关闭,由osw负责关闭---谁调用,谁负责关闭)
osw.close();
}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容