Java 8指定されたCharset cs
を使用して8にある既存のファイルにテキストを追加する簡単で保存可能なソリューションを探しています。私が見つけたソリューション here =私の状況ではノーゴーである標準のCharset
を扱います。
オーバーロードされたバージョンの Files.write
がCharsetを受け入れる)を使用する1つの方法 :
import static Java.nio.charset.StandardCharsets.UTF_8;
import static Java.nio.file.StandardOpenOption.APPEND;
import static Java.nio.file.StandardOpenOption.CREATE;
List<String> lines = ...;
Files.write(log, lines, UTF_8, APPEND, CREATE);
Path path = Paths.get("...");
Charset charset = StandardCharsets.UTF_8;
List<String> list = Collections.singletonList("...");
Files.write(path, charset, list, StandardOpenOption.APPEND);
あなたが指摘した質問で受け入れられた回答に基づいて:
try (PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("myfile.txt", true), charset)))) {
out.println("the text");
} catch (IOException e) {
//exception handling left as an exercise for the reader
}
Guavaのappendメソッド Class Files を使用できます。また、 Java.nio.charset.Charset を確認することもできます。