BufferedReader使用utf-8编码读取
时间: 2023-12-21 22:16:17 浏览: 163
要使用UTF-8编码从`BufferedReader`中读取数据,您可以在创建`BufferedReader`对象时使用`InputStreamReader`来指定字符编码。以下是一个示例代码:
```java
try {
InputStream inputStream = new FileInputStream("path/to/file");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String line;
while ((line = bufferedReader.readLine()) != null) {
// 处理读取到的行数据
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
```
在这个示例中,我们将文件输入流传递给`InputStreamReader`,并指定了字符编码为UTF-8。然后,我们将`InputStreamReader`传递给`BufferedReader`,以便从中读取数据。在读取每一行数据时,我们可以在处理数据之前对每一行进行UTF-8编码。
需要注意的是,如果您使用的是Java 7或更高版本,则可以使用`Files.newBufferedReader()`方法来读取文件,该方法将自动使用UTF-8编码读取数据,无需手动指定字符编码。例如:
```java
try {
BufferedReader bufferedReader = Files.newBufferedReader(Paths.get("path/to/file"));
String line;
while ((line = bufferedReader.readLine()) != null) {
// 处理读取到的行数据
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
```
阅读全文