以二进制格式读取操作读取源,但写入操作不以这种方式写入。
try
{
FileInputStream fr=new FileInputStream("Image.jpeg");
FileOutputStream fr1=new FileOutputStream("Text.txt");
int temp=0;
while((temp=fr.read())!=-1)
{
fr1.write(temp);
}
fr1.close();
fr.close();
}
catch(Exception e)
{
System.out.println(e);
}
答案 0 :(得分:0)
嗯,这可能是因为您正在从“Image.jpeg”而不是“Desert.jpeg”中读取数据。也可能是您正在写入“Text.txt”而不是“text.txt”。我也可能是你正在复制jpeg图像数据字节的字节,它将被文本编辑程序解释为文本,而不是你建议的“二进制”。
我真正想知道的是,您希望在文本文件中看到什么?
编辑:现在我知道你想要人类可读的二进制文件,试试这个:
try
{
FileInputStream fr=new FileInputStream("Image.jpeg");
FileOutputStream fr1=new FileOutputStream("Text.txt");
PrintWriter out = new PrintWriter(fr1);
int temp=0;
while((temp=fr.read())!=-1)
{
out.write(Integer.toBinaryString(temp) + " ");
}
out.close();
fr1.close();
fr.close();
}
catch(Exception e)
{
System.out.println(e);
}