getResourceAsStream转化为UTF-8流
时间: 2023-06-14 09:05:22 浏览: 48
可以使用Java的InputStreamReader类将getResourceAsStream()方法返回的InputStream对象转换为UTF-8编码的字符流。以下是示例代码:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
public class ResourceUtils {
public static Reader getResourceAsStream(String resourcePath)
throws IOException {
InputStream inputStream = ResourceUtils.class.getResourceAsStream(resourcePath);
if (inputStream == null) {
throw new IOException("Resource not found: " + resourcePath);
}
return new InputStreamReader(inputStream, StandardCharsets.UTF_8);
}
}
```
上述代码中,getResourceAsStream()方法返回的InputStream对象被传递给InputStreamReader的构造函数,并指定了UTF-8编码。这样可以确保从InputStream中读取的字节正确地转换为字符流,并且可以正确地处理各种Unicode字符。