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类可以实现吗?我知道如何使用InputStream和OutputStream制作图像的副本,所以不要粘贴使用它的解决方案!
此代码有什么问题。
您正在使用基于文本的类来存储二进制数据。
BufferedReader和Writer类可以吗?
不,当您处理二进制数据时,不会。
我知道如何使用InputStream和OutputStream制作图像的副本,所以不要使用它粘贴解决方案!
那是您应该使用的解决方案,因为这些是为二进制数据设计的类。
从根本上来说,使用Reader
或Writer
处理非文本数据被破坏了,并带来了麻烦。如果您在文本编辑器中打开文件而看不到文本,则它不是文本文件…(或者,它可能是文本文件,您使用了错误的编码,但是图像和声音之类的东西不是自然的文字。)
你好,虽然我读了很多其他答案,但我不明白如何关闭BufferedReader而不发送输入。这是我程序的阻塞部分: 当我从主线程调用“endListing()”时,程序终止--但不会在用户输入任何内容之前终止。我想让程序立即终止--如何启动这个BufferdReader(像BufferedReader一样创建(新的InputStreamReader(System.in))? 我试图在主线程中的这个线
问题内容: 我有一个堆栈A,我想创建一个与堆栈A相同的堆栈B。我不希望堆栈B只是指向A的指针- 我实际上是想创建一个包含相同元素的新堆栈B堆栈A的顺序与堆栈A相同。堆栈A是字符串的堆栈。 谢谢! 问题答案: 只需使用Stack类的clone()方法(它实现Cloneable)。 这是一个使用JUnit的简单测试用例: 编辑: tmsimont:这会为我创建“未经检查或不安全的操作”警告。有什么
我试图在我的降价文件中插入一个图像,但它没有渲染。 我也尝试过使用绝对路径,但也没有成功。
问题内容: 我正在逐行打印数据,并希望像表一样组织数据。 我最初用过。 但是对于某些较大的名称,电话号码会被推离对齐状态 我正在尝试使用String.format()实现此效果。谁能告诉我使用的格式语法? 我尝试过,但这不是我想要的。我希望它看起来像这样: 约翰·史密斯123456789 鲍勃·麦迪逊123456789 查尔斯·理查兹123456789 编辑:这些答案似乎适用于System.out
问题内容: 可以说我有一个文本文件:data.txt(包含2000行) 如何从500-1500,然后从1500-2000读取给定的特定行,并显示特定行的输出? 此代码将读取整个文件(2000行) 如何修改上述代码以读取特定行? 问题答案: 我建议使用java.io.LineNumberReader。它扩展了BufferedReader,您可以使用它来获取当前行号 您还可以使用Java 7 ,如果适
问题内容: 如何在Java中复制对象? 问题答案: 创建一个副本构造函数: 每个对象还有一个克隆方法,可用于复制对象,但不要使用它。创建类和执行不正确的克隆方法太容易了。