InputStream.reader
时间: 2023-07-27 21:19:20 浏览: 109
InputStreamReader是Java中用于将字节流转换为字符流的转换流,它通常与InputStream一起使用,用于读取文本数据。InputStreamReader的作用是将字节流按照指定的字符编码格式转换为字符流,从而可以更方便地处理文本数据。
例如,如果你想从一个UTF-8编码的文件中读取文本数据,可以使用以下代码:
```java
String charset = "UTF-8";
InputStream is = new FileInputStream("input.txt");
InputStreamReader isr = new InputStreamReader(is, charset);
StringBuilder sb = new StringBuilder();
int c;
while ((c = isr.read()) != -1) {
sb.append((char) c);
}
isr.close();
String text = sb.toString();
```
在上面的例子中,我们首先创建了一个InputStream,用于读取文件中的字节流。然后我们创建了一个InputStreamReader,将字节流转换为字符流,并设置了编码格式为UTF-8。接下来我们使用StringBuilder逐个读取字符,并将它们添加到字符串中。最后我们关闭InputStreamReader流,并将结果转换为字符串。
需要注意的是,如果文件的编码格式与指定的字符编码格式不一致,可能会导致乱码等问题。因此在读取文件时,需要确认文件的编码格式,并设置相应的字符编码格式。
阅读全文