我在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