Нужна программа на java. Как исправить кодировку сохраняемого на телефон файла?
Имя файла должно быть строго русскими буквами, но сохраняется 2 файла: один - с правильным названием на кириллице, но без данных (вес файла - 0 байт), второй - с данными, но имя файла состоит из знаков %D0%A1 и так далее.
В сети полно материалов на тему кодировок, но все они касаются содержания фала, либо загрузки внешнего файла. А мне нужно создать файл с данными и именем файла русскими буквами. Я пробовала менять кодировку имени файла, но безрезультатно
Как создать файл?
Я делала так:
File docCase = new File(Environment.getExternalStorageDirectory() + "/Files");
docCase.mkdirs();
String fileName1 = "Файл";
String fileName2 = new String(fileName1.getBytes("utf-8"),"cp1251");
String fileName3 = fileName2 + ".xml";
myFile = new File(docCase.getAbsolutePath(), fileName3);
try (final Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(System.getProperty("user.dir") + "/Хелло.txt"), "utf-8"))) {
writer.write("текст");
}
Без проблем создает файл с русским именем и русским содержанием.
А вообще, все зависит от кодировки OS, в какой OS в такой и сохраняйте, вот например у меня System.getProperty("file.encoding") - выводит UTF-8, в ней и нужно сохранять.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости