Java byte[] 转FileInputStream
时间: 2023-12-21 22:06:04 浏览: 28
可以使用ByteArrayInputStream来转换byte数组为InputStream,然后再使用FileOutputStream写入文件。以下是示例代码:
```java
byte[] byteArray = ...;
InputStream inputStream = new ByteArrayInputStream(byteArray);
FileOutputStream fileOutputStream = new FileOutputStream("file.txt");
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
fileOutputStream.close();
```
相关问题
byte转fileinputstream
将一个 `byte[]` 数组转换为 `FileInputStream` 对象,可以按照以下步骤操作:
1. 创建一个 `File` 对象,该对象表示所需的文件。
2. 创建一个 `FileOutputStream` 对象,用于将 `byte[]` 数组写入文件。
3. 将 `byte[]` 数组写入文件。
4. 创建一个 `FileInputStream` 对象,将 `File` 对象作为参数传递给该对象的构造函数。
下面是示例代码:
```java
byte[] bytes = // 你的 byte 数组
File file = new File("file.txt"); // 你的文件路径
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(bytes);
fos.close();
FileInputStream fis = new FileInputStream(file);
// 现在可以使用 fis 对象进行读取操作
} catch (IOException e) {
e.printStackTrace();
}
```
在这个示例中,我们首先创建了一个 `File` 对象,该对象表示要写入的文件。接下来,我们创建了一个 `FileOutputStream` 对象,并使用它将 `byte[]` 数组写入文件。最后,我们创建了一个 `FileInputStream` 对象,并传递 `File` 对象作为参数,以便从该文件中读取数据。
java InputStream转FileInputStream
要将Java的InputStream对象转换为FileInputStream对象,可以使用以下代码:
```java
InputStream inputStream = ...; // 输入的InputStream对象
// 将InputStream对象转换为FileInputStream对象
FileInputStream fileInputStream = new FileInputStream(File.createTempFile("temp", ".tmp"));
try (OutputStream outputStream = new FileOutputStream(file)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
```
这段代码首先创建一个临时文件,并将输入的InputStream对象写入该文件。然后可以使用得到的FileInputStream对象进行后续操作。请注意,这段代码使用了Java 7的try-with-resources语法来自动关闭流。