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();
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题.是否可以使用BufferedReader和Writer Class?我知道如何使用InputStream和OutputStream制作图像副本,所以不要使用它来粘贴解决方案!
这段代码有什么问题.
您正在为二进制数据使用基于文本的类.
是否可以使用BufferedReader和Writer Class?
不是在处理二进制数据时,没有.
我知道如何使用InputStream和OutputStream复制图像,所以不要使用它来粘贴解决方案!
这是您应该使用的解决方案,因为这些是为二进制数据设计的类.
从根本上说,使用Reader或Writer用于非文本数据会被破坏,并且会遇到麻烦.如果你在文本编辑器中打开文件并且看不到文本,那么它不是文本文件......(或者,它可能是一个文本文件,你使用了错误的编码,但是像图像和声音这样的东西不是自然文本.)
| 归档时间: |
|
| 查看次数: |
2240 次 |
| 最近记录: |