
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.InputStreamReader类
(1)概念
转换流 java.io.InputStreamReader ,是Reader的子类,,读取字节并使用指定的字符集将其解码为字符。它的字符集可以自定义,也可以用平台的默认字符集。
(2)构造方法
1 2 | InputStreamReader(InputStream in ): 创建一个使用默认字符集的字符流。
InputStreamReader(InputStream in , String charsetName): 创建一个指定字符集的字符流。
|
(3)实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class Demo02 {
public static void main(String[] args) throws IOException {
FileInputStream fis= new FileInputStream( "D:\\java\\a.txt" );
InputStreamReader isr= new InputStreamReader(fis, "UTF-8" );
int len=0;
char[] ch= new char[1024];
while ((len=isr.read(ch))!=-1){
System.out.println( new String(ch,0,len));
}
isr.close();
}
}
|
2.ObjectOutputStream类
(1)概念
java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。
(2)构造方法
1 2 | OutputStreamWriter(OutputStream in ): 创建一个使用默认字符集的字符流。
OutputStreamWriter(OutputStream in , String charsetName): 创建一个指定字符集的字符流。
|
(3)实例
1 2 3 4 5 6 7 8 9 10 11 12 | public class Demo01 {
public static void main(String[] args) throws IOException {
FileOutputStream fos= new FileOutputStream( "D:\\java\\a.txt" );
OutputStreamWriter osw= new OutputStreamWriter(fos, "UTF-8" );
osw.write( "你好" );
osw.flush();
osw.close();
}
|
以上就是转换流在java中两种类的使用,学会后我们可以把字符流和字节流进行相互的转换,同时不会被编码问题所困扰,学会后就代码部分练习一下吧。