如何使用 bufferedreader/writer 复制 java 中的图像
How to copy image in java using bufferedreader/writer
File file = new File("download.png");
File newfile = new File("D:\Java.png");
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fr = new FileReader(file);
FileWriter fw = new FileWriter(newfile);
br = new BufferedReader(fr);
bw = new BufferedWriter(fw);
char[] buf = new char[1024];
int bytesRead;
while ((bytesRead = br.read(buf)) > 0) {
bw.write(buf, 0, bytesRead);
}
bw.flush();
}
catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这段代码有什么问题。 BufferedReader 和 Writer Class 有可能吗?
我知道如何使用 InputStream 和 OutputStream 复制图像,所以不要使用它来粘贴解决方案!!
Whats wrong with this code.
您正在使用 text-based 类 二进制数据。
Is it possible with BufferedReader and Writer Class?
不是在处理二进制数据时,不是。
I know how to to make copy of image using InputStream and OutputStream, So don't paste solution using that!
这是您应该使用的解决方案,因为这些是 类 专为二进制数据设计的。
从根本上说,用Reader
或Writer
换non-text数据就坏了,自讨苦吃。如果您在文本编辑器中打开文件但看不到文本,则它不是文本文件...(或者,它可能是您使用了错误编码的文本文件,但图像和声音之类的东西不是自然的文本。)
使用javax.imageio.ImageIO
实用程序class,它有很多与图像处理相关的实用程序方法。
try{
File imagefile = new File("download.png");
BufferedImage image = ImageIO.read(imagefile);
ImageIO.write(image, "png",new File("D:\Java.png"));
.....
}
File file = new File("download.png");
File newfile = new File("D:\Java.png");
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader fr = new FileReader(file);
FileWriter fw = new FileWriter(newfile);
br = new BufferedReader(fr);
bw = new BufferedWriter(fw);
char[] buf = new char[1024];
int bytesRead;
while ((bytesRead = br.read(buf)) > 0) {
bw.write(buf, 0, bytesRead);
}
bw.flush();
}
catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这段代码有什么问题。 BufferedReader 和 Writer Class 有可能吗? 我知道如何使用 InputStream 和 OutputStream 复制图像,所以不要使用它来粘贴解决方案!!
Whats wrong with this code.
您正在使用 text-based 类 二进制数据。
Is it possible with BufferedReader and Writer Class?
不是在处理二进制数据时,不是。
I know how to to make copy of image using InputStream and OutputStream, So don't paste solution using that!
这是您应该使用的解决方案,因为这些是 类 专为二进制数据设计的。
从根本上说,用Reader
或Writer
换non-text数据就坏了,自讨苦吃。如果您在文本编辑器中打开文件但看不到文本,则它不是文本文件...(或者,它可能是您使用了错误编码的文本文件,但图像和声音之类的东西不是自然的文本。)
使用javax.imageio.ImageIO
实用程序class,它有很多与图像处理相关的实用程序方法。
try{
File imagefile = new File("download.png");
BufferedImage image = ImageIO.read(imagefile);
ImageIO.write(image, "png",new File("D:\Java.png"));
.....
}