Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с записью в файл / 9 сообщений из 9, страница 1 из 1
09.10.2013, 18:35
    #38421996
Chicho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
Проблема известная... С помощью класса FileWriter можно писать в файл только инфу в формате Unicode. Да, есть класс OutputStreamWriter. Использую его. Записывает в нужном мне формате, но есть одно но.

FileWriter fCommon;
fCommon = new FileWriter(new File("/common.txt"), true);
fCommon.append("text");

и

OutputStreamWriter fCommon;
fCommon = new OutputStreamWriter(new FileOutputStream("/common.txt"), "cp866");
fCommon.append("text");

В первом случае текст корректно дописывается в конце файла. Во втором - при новом открытии сайта информация, которая содержалась в файле затирается и текст пишется с нуля.
Что делать?
...
Рейтинг: 0 / 0
09.10.2013, 18:49
    #38422010
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
использовать конструктор FileOutputStream(String name, boolean append)
...
Рейтинг: 0 / 0
09.10.2013, 19:04
    #38422026
Chicho
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
Как всё просто. Недоизучил конструкторы. Спасибо!
...
Рейтинг: 0 / 0
09.10.2013, 19:11
    #38422031
Проблемы с записью в файл
ChichoС помощью класса FileWriter можно писать в файл только инфу в формате Unicode.

Вообще-то, пишут что в default character encoding
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.04.2015, 10:42
    #38936841
May12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
Ребят, объясните мне следующее явление, помогите разобраться.
Я написала программку, которая пишет данные в файл с помощью au.com.bytecode.opencsv.CSVWriter примерно так вот:
Код: java
1.
writer = new CSVWriter(new FileWriter(path, true), '|', CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.DEFAULT_LINE_END);



Мне нужны файлы в кодировке UTF-8. Я их получаю при запуске программы из IDE. Все вроде бы нормально.

Но когда я собираю программу в джарок и запускаю из cmd файлы начинают писатьcя в кодировке 1251.
Я поигралась с chcp (866, 65001, 1251), но мне так и не удалось получить файлы в кодировке UTF-8 при запуске программы из jar. Как правильно решить проблему и получить файлы в UTF-8?
...
Рейтинг: 0 / 0
15.04.2015, 10:43
    #38936843
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
May12,

Используй -Dfile.encoding=UTF8
...
Рейтинг: 0 / 0
15.04.2015, 11:03
    #38936861
May12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
Blazkowicz, добра Вам. Заработало так:
Код: plaintext
java -Dfile.encoding=UTF-8 -jar mayaprog.jar 
...
Рейтинг: 0 / 0
15.04.2015, 12:02
    #38936922
May12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
Blazkowicz, еще один вопросик: если мне нужно часть файлов писать в 1251 или ANSI, а часть в UTF-8, то как поступить? Ковырять new FileWriter?
...
Рейтинг: 0 / 0
15.04.2015, 12:05
    #38936928
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в файл
May12,

Код: java
1.
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), chartset)));
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с записью в файл / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]