使用Java语言写一个字节流读取一个utf-8字符串的方法
时间: 2024-02-02 22:02:56 浏览: 86
Java中对于字节流的读取方式
可以使用Java中的InputStream类和InputStreamReader类来读取一个UTF-8编码的字符串。
以下是一个示例代码:
```java
public static String readUTF8String(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
return new String(outputStream.toByteArray(), "UTF-8");
}
```
这个方法接受一个InputStream对象作为参数,并读取其中的字节流并转换为UTF-8编码的字符串。它使用一个ByteArrayOutputStream来缓存读取的字节流,并在读取完成后将其转换为字符串。
使用示例:
```java
try (InputStream inputStream = new FileInputStream("input.txt")) {
String utf8String = readUTF8String(inputStream);
System.out.println(utf8String);
} catch (IOException e) {
e.printStackTrace();
}
```
这个示例代码使用一个FileInputStream来创建一个输入流,然后将其传递给readUTF8String方法来读取其中的UTF-8字符串,并将其打印到控制台上。
阅读全文