IO流用字符流复制图片
时间: 2023-08-22 12:10:22 浏览: 99
IO流是Java中用于输入输出操作的机制,用于读取和写入数据。字符流是IO流的一种,用于处理字符数据。
然而,图片是二进制数据,不是字符数据。因此,使用字符流复制图片可能会导致数据损坏或丢失。正确的做法是使用字节流来复制图片。
以下是使用字节流复制图片的示例代码:
```java
import java.io.*;
public class ImageCopy {
public static void main(String[] args) {
String sourceFile = "source.jpg"; // 源图片文件路径
String destFile = "destination.jpg"; // 目标图片文件路径
try (InputStream inputStream = new FileInputStream(sourceFile);
OutputStream outputStream = new FileOutputStream(destFile)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
System.out.println("图片复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码中,使用了`FileInputStream`和`FileOutputStream`来创建字节输入流和字节输出流。通过循环读取输入流的字节,并将其写入输出流,实现了图片的复制。
请注意,在实际应用中,需要根据具体情况处理异常,并且在使用完流后需要关闭它们。以上代码只是一个简单示例。
希望能帮到你!如有任何疑问,请随时提出。
阅读全文