下面是“Java实现字符串和输入流的相互转换”的完整攻略:
1. 字符串转输入流
可以使用Java中的StringBufferInputStream
或ByteArrayInputStream
将字符串转化为输入流对象。
使用StringBufferInputStream
String str = "Hello, World!";
InputStream inputStream = new StringBufferInputStream(str);
使用ByteArrayInputStream
String str = "Hello, World!";
InputStream inputStream = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
2. 输入流转字符串
可以使用Java中的ByteArrayOutputStream
和InputStreamReader
将输入流转化为字符串。
使用ByteArrayOutputStream
InputStream inputStream = new FileInputStream("data.txt");
ByteArrayOutputStream resultStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
resultStream.write(buffer, 0, length);
}
String result = resultStream.toString(StandardCharsets.UTF_8.name());
使用InputStreamReader
InputStream inputStream = new FileInputStream("data.txt");
InputStreamReader streamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
BufferedReader reader = new BufferedReader(streamReader);
StringBuilder result = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
String str = result.toString();
以上就是完整攻略了,以上示例代码仅供参考,具体使用可以根据实际情况进行修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现字符串和输入流的相互转换 - Python技术站