我写了这个程序,将一个pdf文件复制到其他文件但是我在o / p中得到了用于.txt文件的curupt fiel这个代码工作正常。
码
public class FileCopy {
public static void main(String args[]) {
try {
FileInputStream fs = new FileInputStream("C:\\dev1.pdf");
byte b;
FileOutputStream os = new FileOutputStream("C:\\dev2.pdf");
while ((b = (byte) fs.read()) != -1) {
os.write(b);
}
os.close();
fs.close();
} catch (Exception E) {
E.printStackTrace();
}
}
}
答案 0 :(得分:3)
这是因为你正在混合整数和字节。这应该按预期工作:
int b;
while ((b = fs.read()) != -1) {
os.write(b);
}
特别是,当fs.read()
返回255时,(byte) fs.read
返回-1。
答案 1 :(得分:3)
试试这个
try {
FileInputStream fs = new FileInputStream("C:\\dev1.pdf");
FileOutputStream os = new FileOutputStream("C:\\dev2.pdf");
while ((int b = (byte) fs.read()) != -1) {
os.write(b);
}
os.close();
fs.close();
} catch (Exception E) {
E.printStackTrace();
}