java 数组转输入流
时间: 2023-09-01 18:09:24 浏览: 44
要将Java数组转换为输入流,可以使用ByteArrayInputStream类。这个类可以从字节数组中读取数据并将其作为输入流使用。以下是一个示例代码:
```java
public class Test {
public static void main(String\[\] args) {
int\[\] array = {1, 2, 3, 4, 5};
// 将int数组转换为byte数组
byte\[\] byteArray = new byte\[array.length * 4\];
for (int i = 0; i < array.length; i++) {
byteArray\[i * 4\] = (byte) (array\[i\] >> 24);
byteArray\[i * 4 + 1\] = (byte) (array\[i\] >> 16);
byteArray\[i * 4 + 2\] = (byte) (array\[i\] >> 8);
byteArray\[i * 4 + 3\] = (byte) array\[i\];
}
// 创建ByteArrayInputStream对象
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArray);
// 读取输入流中的数据
int value;
while ((value = inputStream.read()) != -1) {
System.out.println(value);
}
// 关闭输入流
inputStream.close();
}
}
```
在这个例子中,我们首先将int数组转换为byte数组,每个int值占用4个字节。然后,我们使用ByteArrayInputStream类创建一个输入流对象,并使用read()方法逐个读取字节数据。最后,记得关闭输入流。
#### 引用[.reference_title]
- *1* *2* [Java字节流的使用:字节输入/输出流、文件输入/输出流、字节数组输入/输出流](https://blog.csdn.net/Itmastergo/article/details/128405345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [java数组操作](https://blog.csdn.net/wmy01234/article/details/125981937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]