怎么让String字符串读取到流中
时间: 2023-06-13 14:06:38 浏览: 49
可以使用Java中的InputStream类或Reader类来读取流,然后将其转换成字符串。下面是一个例子:
```java
import java.io.*;
public class StringFromStream {
public static void main(String[] args) throws IOException {
// 从文件中读取流
InputStream input = new FileInputStream(new File("test.txt"));
String str = getStringFromStream(input);
System.out.println(str);
// 从网络连接中读取流
InputStream networkInput = new URL("http://example.com").openStream();
String networkStr = getStringFromStream(networkInput);
System.out.println(networkStr);
}
private static String getStringFromStream(InputStream input) throws IOException {
ByteArrayOutputStream result = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) != -1) {
result.write(buffer, 0, length);
}
return result.toString("UTF-8");
}
}
```
这里使用了ByteArrayOutputStream类来将InputStream类中的字节流转换成字符串。如果需要读取字符流,可以使用BufferedReader类。