我在Java中有一个FileOutputStream,它读取UDP数据包的内容并将它们保存到文件中。在阅读结束时,我有时想转换文件的编码。问题是,目前在做这件事时,它最终会使文件的所有内容加倍。我认为唯一的解决方法是创建一个带有新编码的临时文件,然后将其保存为原始文件,但这看起来太过分了。尝试在Java中更改文件的Encdoing将文件的内容翻倍
我必须刚好可以俯瞰在我的代码的东西:
if(mode.equals("netascii")){
byte[] convert = new byte[(int)file.length()];
FileInputStream input = new FileInputStream(file);
input.read(convert);
String temp = new String(convert);
convert = Charset.forName("US-ASCII").encode(temp).array();
fos.write(convert);
}
JOptionPane.showMessageDialog(frame, "Read Successful!");
fos.close();
}
有什么怀疑?
在此先感谢您的帮助!
您应该使用阅读器和作家在这里,指定在这两种情况下适当的字符集。 – EJP