Java IO-输出文件的大小大于原始文件的大小

时间:2018-09-19 05:55:40

标签: java io

我试图写一个可读取的文件,然后将其写入不同的位置。

File file=new File("<PathToFile>");
String str=FileUtils.readFileToString(file);

在不同的位置写str,而对str没有任何修改

File writefile=new File("<PathToWriteFile>");
FileUtils.writeStringToFile(writefile, str);

问题是输出文件的大小大于原始文件的大小

编辑:- 我知道解决方案,即按字节读取和写入文件,但是我的问题是为什么会这样?

1 个答案:

答案 0 :(得分:0)

这可能是不同的字符串编码-每个字符占用的空间可能有大约X2的差异。您可以使用任何显示编码的文本编辑器来进行验证(例如,使用记事本在不进行实际操作的情况下进行“另存为”操作,就会在“保存”对话框中显示编码)。

作为解决方案,您可以

  1. 以二进制数据读取/写入
  2. 如果知道正确的字符集,请使用writeStringToFile(File,String,Charset)