|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729846
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2019/4/5 15:00 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]Appending to file in utf8
- Appending to file in utf8
For a project I need to append to a textfile using UTF-8 encoding. During my research I found two possibilities:
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream("file.txt), "UTF-8")
)
This will write to my file in UTF-8, but it will overwrite it, rather than append to it if it already exist. Then I found the code to apend to an existing file with a parameter in the FileWriter, but this will not use UTF-8 explicitely, rather than use the default system character set:
BufferedWriter out = new BufferedWriter(new FileWriter("myfile.txt", true))
I now need the possibility to define BOTH the encoding as well as appending to a file. Just rely on the system encoding or change this is not an option.
You forgot to add the true paramter to the FileOutputStream constructor:
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("file.txt", true), // true to append
StandardCharsets.UTF_8 // Set encoding
)
);
try {
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("myFile.txt", true), "UTF-8"));
out.write("Hello World");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
原文出處java - Appending to file in utf8 - Stack Overflow
|
|
討論串
|