读取本地图片,并以byte数组打印在控制台
时间: 2023-12-18 17:03:03 浏览: 32
好的,你可以使用Java的FileInputStream和ByteArrayOutputStream来读取本地图片并将其转换为byte数组,然后通过控制台输出。以下是示例代码:
```java
import java.io.*;
public class ImageIOExample {
public static void main(String[] args) {
try {
// 创建一个File对象,指定要读取的图片路径
File inputFile = new File("input.jpg");
// 创建一个输入流对象,读取inputFile中的内容
FileInputStream inputStream = new FileInputStream(inputFile);
// 创建一个输出流对象,将内容写入到ByteArrayOutputStream中
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// 定义一个字节数组,用于存储文件内容
byte[] buffer = new byte[1024];
// 定义一个变量,记录读取到的字节数
int bytesRead = 0;
// 读取文件内容到字节数组中,直到读取完毕
while ((bytesRead = inputStream.read(buffer)) != -1) {
// 将字节数组中的内容写入到输出流中
outputStream.write(buffer, 0, bytesRead);
}
// 关闭输入输出流
inputStream.close();
outputStream.close();
// 将ByteArrayOutputStream中的内容转换为byte数组
byte[] bytes = outputStream.toByteArray();
// 输出byte数组到控制台
System.out.println(bytes);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码将会读取名为`input.jpg`的图片,并将其转换为byte数组输出到控制台。需要注意的是,如果要读取其他类型的文件,只需要将文件名和文件类型(例如jpg)替换即可。