DataOutputStream转为InputStream
时间: 2023-11-19 20:57:20 浏览: 106
可以使用ByteArrayOutputStream和ByteArrayInputStream来实现DataOutputStream和DataInputStream之间的转换。具体步骤如下:
1.创建一个ByteArrayOutputStream对象,将DataOutputStream对象写入其中。
2.使用toByteArray()方法获取ByteArrayOutputStream对象的字节数组。
3.创建一个ByteArrayInputStream对象,将字节数组传入其中。
4.使用ByteArrayInputStream对象创建一个DataInputStream对象,即可完成DataOutputStream到DataInputStream的转换。
下面是Java代码示例:
```java
// 创建DataOutputStream对象
DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"));
dos.writeUTF("Hello World!");
dos.writeInt(123);
// 将DataOutputStream转换为DataInputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] bytes = null;
try {
dos.flush();
bytes = baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
DataInputStream dis = new DataInputStream(bais);
// 读取DataInputStream中的数据
String str = dis.readUTF();
int num = dis.readInt();
System.out.println(str); // 输出:Hello World!
System.out.println(num); // 输出:123
```
阅读全文