1

テキスト(ウクライナの記号)を含むファイルが1つあります。例: ${name} - привіт. ${name}からに置き換える必要がありСашаます。しかし、出力ファイルでは、次のようなものを受け取りпÑ??Ð¸Ð²ÐµÑ - привітますСаша- привіт。しかし、.rtf の代わりに .txt を使用すると、すべて問題ありません。コーディングの問題は理解できますが、解決できません。

コード例:

File file = new File("original.rtf");
String content = FileUtils.readFileToString(file);

content = content.replace("${name}", "Саша");

File fileNew = new File("changed.rtf");
FileOutputStream fop = new FileOutputStream(fileNew);

byte[] contentInBytes = content.getBytes("UTF-8");
fop.write(contentInBytes);
fop.flush();
fop.close();
4

1 に答える 1

4

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#readFileToString%28java.io.File%29

非推奨。2.5代わりにreadFileToString(File, Charset)を使用

また、Java コンパイラが Java ソースを格納されているのと同じエンコーディング (UTF-8 を推奨) で読み取り、-encodingスイッチを使用していることを確認してください。

于 2014-05-16T13:52:32.520 に答える