Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/92: Рейтинг темы: голосов - 92, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 31.10.2014
Сообщений: 59

Как записать строку в кодировке windows-1251 в файл

16.04.2015, 20:46. Показов 19088. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, перечитал почти весь форум но решения проблемы не нашел. Прошу помочь специолистов.
Задача в следующем. Есть файл в кодировке Cp1251. Он считывается построчно
Java
1
2
3
.....
String OldStrok1_3FromFile = FileWoker.readString1_3(fileName);
.....
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static String readString1_3(String fileName) throws FileNotFoundException {
        File file = new File(fileName);
        StringBuilder sb = new StringBuilder();
        exists(fileName);
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "Cp1251"));
            try {
                String s;
                int nomc = 0;
                while ((s = in.readLine()) != null) {
                    nomc++;
                    if(nomc < 4) {
                        sb.append(s);
                        sb.append("\n");
                    }
                }
            } finally {
                in.close();
            }
        } catch(IOException e) {
            throw new RuntimeException(e);
        }
        return sb.toString();
    }
Далее со стринговой переменной производятся определенные манипуляции (ищется подстрока и меняется на другую). И в конце строковая переменная записывается в новый файл.

Java
1
2
3
.....
FileWoker.write(fileNameNew, NewtextFromFile);
.....
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void write(String fileNameNew, String text) {
        File file = new File(fileNameNew);
        try {
            if(!file.exists()){
                file.createNewFile();
            }
            PrintWriter out = new PrintWriter(file.getAbsoluteFile());
            try {
                out.print(text);
            } finally {
                out.close();
            }
        } catch(IOException e) {
            throw new RuntimeException(e);
        }
    }
Но текст в файл записывается в кодировке Utf-8 в результате чего руский текст отображается не верно.
Подскажите как это побороть???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2015, 20:46
Ответы с готовыми решениями:

Перекодировать строку из кодировки KOI в строку в кодировке Windows-1251 и обратно
Составить программы, печатающие результаты вычислений. Ребят помогите это задание сделать!

Как записать в файл строку в кодировке UTF-8?
Здравствуйте уважаемые пользователи, модераторы и все обитатели этого форума! Нужна снова ваша помощь! Ниже представлен скрипт который...

Как сохранить html страницу в Windows-1251 кодировке?
скачиваю html страницу. var sait = new WebClient().DownloadString(zapros); произвожу удаление, добавление, смену нужных кусков...

5
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
16.04.2015, 20:53
а в какую кодировку нужно? при считывании начальном русский текст не искажается?
0
1 / 1 / 0
Регистрация: 31.10.2014
Сообщений: 59
16.04.2015, 21:19  [ТС]
Нужно, что бы текст в файле бал в кодировке ANSI-1251.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
16.04.2015, 21:36
попробуй, если уверен, что там именно УТФ-8
Java
1
s=new String (s.getBytes("UTF-8"),"cp1251"); // s-это стринг строка твоя какая то, после обработки
0
1 / 1 / 0
Регистрация: 31.10.2014
Сообщений: 59
16.04.2015, 22:06  [ТС]
Не работает.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
17.04.2015, 00:37
Как-то так:
Java
1
PrintWriter out = new PrintWriter(file, "Cp1251");
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2015, 00:37
Помогаю со студенческими работами здесь

не читает файлы в кодировке windows-1251
как исправить pascal, чтоб нормально показывал русскоязычные шрифты? используется DDOSBox 0.74 (Turbo Pascal 7 for Windows7-8-8.1)

Даны три файла в 3х разных кодировках, перевести текст в Windows-1251 и записать в один файл
Даны три файла в 3х разных кодировках, перевести текст в Windows-1251 и записать в один файл. В сущности я понимаю как это сделать...

Вывод текста в кодировке Win-1251 из bat-файла, текст которого в кодировке OEM-866
примем за аксиому утверждение: &quot;bat-скрипт следует создавать в кодировке DOS (OEM-866)&quot; ...пусть в скрипте есть код, который...

Как записать файл в кодировке utf-8?
Вообщет задача такая, нужно файл записать в кодировке utf-8 или unicode и нужно чтобы русские символы считывались. Я хочу добиться чтобы...

Как получить windows-1251 строку из DOS строки
Всем привет! Моё приложение содержит строку вида C:\Progra~1\... и далее есть имена папок с кириллицей Как мне получить весь путь в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru