【发布时间】:2011-09-11 02:55:53
【问题描述】:
所以我试图以这种方式将文件复制到新位置:
FileReader in = new FileReader(strTempPath);
FileWriter out = new FileWriter(destTempPath);
int c;
while ((c = in.read()) != -1){
out.write(c);
}
in.close();
out.close();
这在 99% 的情况下都能正常工作。有时,如果图像相当小,
谢谢。
【问题讨论】:
-
这在很大程度上取决于您平台的字符编码。在大多数编码中,复制二进制数据会破坏从几个字节值到很多字节组合。如果您使用 -Dfile.encoding=ISO-8859-1 运行程序突然“工作”,您可以确定在某些地方您尝试使用读取器/写入器来复制二进制数据。 ISO-8859-1 是为数不多的不破坏二进制数据的字符集之一,但根据您的语言环境,文本在显示时将是乱码。
标签: java file-io file-copying