FileInputStream转ByteArrayOutputStream
时间: 2023-11-19 08:57:19 浏览: 65
可以使用Java中的FileInputStream和ByteArrayOutputStream类将文件转换为字节数组。以下是一个示例代码:
```java
FileInputStream fis = new FileInputStream("image.jpg");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
byte[] bytes = bos.toByteArray();
```
在这个示例中,我们首先创建一个FileInputStream对象来读取文件。然后,我们创建一个ByteArrayOutputStream对象来存储读取的数据。我们使用一个缓冲区来读取文件,并将读取的数据写入ByteArrayOutputStream对象中。最后,我们使用toByteArray()方法将ByteArrayOutputStream对象转换为字节数组。
相关问题
FileInputStream 转 ByteArrayOutputStream
以下是使用 Java 代码将 FileInputStream 转换为 ByteArrayOutputStream 的示例:
```java
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("example.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
fis.close();
baos.close();
byte[] bytes = baos.toByteArray();
String str = new String(bytes);
System.out.println(str);
}
}
```
在上面的示例中,我们首先创建一个 FileInputStream 来读取文件。然后,我们创建一个 ByteArrayOutputStream 来缓存读取的数据。接下来,我们使用一个缓冲区来读取 FileInputStream 中的数据,并将其写入 ByteArrayOutputStream 中。最后,我们将 ByteArrayOutputStream 转换为字节数组,再将其转换为字符串并打印出来。
请注意,上面的示例中使用了 try-with-resources 语句,以确保 FileInputStream 和 ByteArrayOutputStream 都被正确关闭。
java FileInputStream转byteArrayOutputStream
下面是Java FileInputStream转ByteArrayOutputStream的示例代码:
```java
import java.io.*;
public class Example {
public static void main(String[] args) throws IOException {
FileInputStream input = new FileInputStream("example.txt");
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) != -1) {
output.write(buffer, 0, length);
}
byte[] result = output.toByteArray();
System.out.println(new String(result));
input.close();
output.close();
}
}
```
上述代码中,我们首先创建了一个FileInputStream对象和一个ByteArrayOutputStream对象。然后,我们创建一个缓冲区,从输入流中读取数据,并将其写入输出流中。最后,我们将输出流转换为字节数组,并将其打印到控制台上。
阅读全文