Может быть, это проблема с кодировкой?
В классе File
нет методов записи данных в файлы.Для этого вам нужно FileOutputStream
или немного Writer
.Вы должны опубликовать свой код, который сохраняет файл.(Просто отредактируйте вопрос и добавьте туда свой код.)
Мое первое предположение - вы используете FileWriter
.Это звучит просто, но часто неправильно, потому что FileWriter
необходимо преобразовать символы в байты, и это происходит с кодировкой по умолчанию , используемой системой по умолчанию.Вы всегда должны указывать кодировку самостоятельно, и, вероятно, UTF-8
- хороший выбор.
Поэтому вместо FileWriter
следует использовать следующий код:
Charset utf8 = Charset.forName("UTF-8");
OutputStream os = new FileOutputStream(file);
try {
Writer wr = new OutputStreamWriter(os, utf8);
wr.write("whatever strings you want to write");
wr.close();
} finally {
os.close();
}