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

Как считать данные с учетом знака переноса строки "\n" из файла *.txt

18.10.2012, 18:21. Показов 14520. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В файл .txt записывается текст из JTextArea в которую пользователь пишет что угодно и как угодно.
Например:

-123
-еще текст
-и еще текст

В .txt это выглядит так:
-123[]-еще текст[]-и еще текст
где [] - пустые квадраты означающие, как я понимаю, перевод строки.

Но когда я считываю его и помещаю на другой объект JTextArea то считывается только одна строка.
К примеру:
Java
1
2
3
4
5
6
7
8
9
10
InputStreamReader isr = new InputStreamReader(new 
                FileInputStream(fileName),"Cp1251");
        BufferedReader bufferedReader = new BufferedReader(isr);
        
        String line = bufferedReader.readLine();
while(bufferedReader.readLine()!=null)
                {
                    recipeDescr.append(line);
                    line = bufferedReader.readLine();
                }

Или так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
InputStreamReader isr = new InputStreamReader(new 
                FileInputStream(fileName),"Cp1251");
        BufferedReader bufferedReader = new BufferedReader(isr);
        
        String line = bufferedReader.readLine();
st = new StringTokenizer(line,"\n");
            int numberOfTokens = st.countTokens();
while(line != null)
                {
                    for(int i=0;i<numberOfTokens;i++)
                        ingridients.append(st.nextToken());
                    line = bufferedReader.readLine();
                }



Заранее спасибо за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2012, 18:21
Ответы с готовыми решениями:

Как считать данные из txt файла, из определенной строки,столбца?
i=0 Do Until EOF(2) Line Input #2, mytext Dannie(i)=mytext i=i+1 loop Наверняка необязательно заполнять массив...

Какой функцией и как считать данные из файла конкретно до знака ':'
Уважаемые знатоки, есть допустим файл, в который считывается строка типа char *string = &quot;Stroka K.K. : 123&quot; функцией fprintf....

Как из файла txt считать данные в массив?
Добрый день. С с++ у меня очень плохо, но срочно нужно сделать одну вещь. Есть файл file.txt, в нем располагается массив данных, к...

8
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
19.10.2012, 13:38
Покажите код, как записываете текст из JTextArea в файл.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
19.10.2012, 16:55
Цитата Сообщение от romanastya Посмотреть сообщение
Но когда я считываю его и помещаю на другой объект JTextArea то считывается только одна строка.
Весь текст в одну строку или только первая строка?
0
0 / 0 / 1
Регистрация: 03.06.2012
Сообщений: 27
20.10.2012, 00:21  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Покажите код, как записываете текст из JTextArea в файл.
Если упускать что было до и после то записываю так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
//вызываю метод (путь к файлу, текст из JTextArea)
writeNewRecipe(newRecipeFileString,recipeDescr.getText());
//сам метод
    public void writeNewRecipe(String file, String dataForWriting)
    {
        try {
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file,true),"Cp1251");
            PrintWriter out = new PrintWriter(osw);
            out.print(dataForWriting);
            out.close();
        } catch(IOException e){}
    }
Цитата Сообщение от Skipy Посмотреть сообщение
Весь текст в одну строку или только первая строка?
В ТекстАрее в которую печатаю с клавиатуры:
-123
-123
-123
В блокноте:
-123[]-123[]123
В ТекстАрее в которую читаю из файла:
-123 (и только)
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.10.2012, 00:30
Все дело в методе bufferedReader.readLine() - этот метод возвращает строку без символов перевода строк. И еще у вас куча лишних readLine понатыкано, которые никуда не возвращают значение.
Переделайте ваш метод для чтения из файла:
Java
1
2
3
4
5
6
7
                String lineSeparator = System.getProperty("line.separator");
                String line;
                while( (line = bufferedReader.readLine()) != null)
                {
                    recipeDescr.append(line);
                    recipeDescr.append(lineSeparator);
                }
1
0 / 0 / 1
Регистрация: 03.06.2012
Сообщений: 27
20.10.2012, 00:37  [ТС]
Спасибо за помощь, а не объясните строку 1?

Добавлено через 1 минуту
Цитата Сообщение от turbanoff Посмотреть сообщение
Java
1
                String lineSeparator = System.getProperty("line.separator");
Спасибо за помощь, а не объясните эту строку?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.10.2012, 07:26
Таким образов в java можно получить системно-зависимый символ переноса строки.
1
0 / 0 / 1
Регистрация: 03.06.2012
Сообщений: 27
20.10.2012, 10:46  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Таким образов в java можно получить системно-зависимый символ переноса строки.
Спасибо. Очень помогли мне.
0
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 83
15.05.2014, 13:50
Подскажите как считать текст учитывая перенос строки, если я считываю с файла и записываю в другой файл. Читаю с файла текст я так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FileReader fr = null;
        try {
            File file_input = new File("input.txt");
            InputStream input = new FileInputStream(file_input);
            File output = new File("ouput.txt");
            long length = file_input.length();
            byte[] mass = new byte[(int) length];
            int offset = 0;
            int numRead = 0;
            while (offset < mass.length && (numRead=input.read(mass, offset, mass.length-offset)) >= 0) 
            {
                offset += numRead;
            }
            String str = "";
            str = new String(mass,"Cp1251");
            MyStack stack = new MyStack();
            String result = stack.stroka_naoborot(str);
            FileWriter fw = new FileWriter(output);
            fw.write(result);
            fw.flush();
            fw.close();
            JOptionPane.showMessageDialog(null,"Запись успешно завершена!","",1);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2014, 13:50
Помогаю со студенческими работами здесь

Как Считать данные из txt файла с условием?
Добрый день! Помогите разобраться в каком направлении двигаться. Необходимо прочитать и вывести на экран часть содержимого текстового...

Как считать определенные строки из txt файла?
Разрабатываю структуру которая будет записывать и выводить данные из txt файла. У меня есть файл с такими данными: Мне нужно вывести...

Считать данные с txt файла, отсортировать его, затем отсортированный заново преобразовать и вывести в txt файл
_________________ |1 команда |12 | |___________|____| |2 команда |4 | |___________|____| |3 команда |14 | ...

Составить программу нахождения разности чисел массива с учётом знака и переноса
Помагите пожалуйста!!!!!!! Составить программу нахождения разности чисел массива с учётом знака и переноса. Начальный и конечные...

Считать данные из .txt файла
Всем привет! Мне нужно считать данные из .txt файла и вывести их в RichEdit, но не удаётся создать файл для чтения.Использую функции...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru