如何从inputstream中获取字符串
时间: 2024-01-28 09:04:19 浏览: 51
C++实现从输入中读取字符串
从 `InputStream` 中获取字符串的一种常见方法是使用一个 `Scanner` 对象。具体可以按照以下步骤实现:
1. 创建一个 `Scanner` 对象并传入 `InputStream` 对象作为参数。
```
Scanner scanner = new Scanner(inputStream);
```
2. 调用 `Scanner` 对象的 `useDelimiter` 方法,并指定分隔符为“\A”,这样 `Scanner` 将会把整个 `InputStream` 都看作一个 token。
```
scanner.useDelimiter("\\A");
```
3. 调用 `Scanner` 对象的 `next` 方法,返回 `InputStream` 中的所有内容作为一个字符串。
```
String result = scanner.next();
```
完整代码示例:
```
String result = null;
try {
InputStream inputStream = ... // 获取 InputStream 对象
Scanner scanner = new Scanner(inputStream);
scanner.useDelimiter("\\A");
result = scanner.next();
} catch (IOException e) {
e.printStackTrace();
}
```
需要注意的是,在使用完 `InputStream` 后,应该及时关闭它以释放资源。可以使用 `try-with-resources` 语句来自动关闭。
```
try (InputStream inputStream = ...) {
// 使用 InputStream 对象
} catch (IOException e) {
e.printStackTrace();
}
```
阅读全文