简述InputStreamReader类与OutputStreamWriter类的作用
时间: 2023-08-25 15:39:48 浏览: 123
在Java中,InputStreamReader类和OutputStreamWriter类都是转换流类,它们的作用是将字节流转换为字符流或将字符流转换为字节流,从而可以实现字符流和字节流之间的互相转换。
具体来说,InputStreamReader类可以从字节输入流中读取字节,并将其转换为字符流输出,OutputStreamWriter类可以将字符流转换为字节流输出到字节输出流中。这两个类通常用于处理中文字符编码问题,在读写文件或网络数据流时,可以通过指定字符编码方式,将字节流转换为相应的字符流。
例如,可以使用InputStreamReader类从字节输入流中读取数据,并将其转换为字符流输出到控制台:
```java
InputStream is = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(is, "UTF-8"); // 指定字符编码方式
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
```
类似地,可以使用OutputStreamWriter类将字符流输出到字节输出流中:
```java
OutputStream os = new FileOutputStream("test.txt");
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8"); // 指定字符编码方式
BufferedWriter bw = new BufferedWriter(osw);
bw.write("Hello, world!");
bw.flush();
```
阅读全文