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

Выбор данных из txt файла

17.05.2014, 23:59. Показов 1526. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите вытащить из .тхт файла данные и записать в массивы. Пример содержимого такого файла
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
~ASCII Log Data
2760.00    11.29    14.24    20.12    24.75    27.62 
2760.20    14.39    13.27    24.37    25.82    28.10 
2760.40    16.04    19.37    23.84    26.83    27.49 
2760.60    16.97    19.81    29.61    30.10    27.81 
2760.80    18.82    23.17    33.78    31.76    28.20 
2761.00    16.90    21.05    30.34    28.97    27.50 
2761.20    11.69    17.57    25.17    23.03    21.59 
2761.40     8.66    12.84    18.86    18.91    17.83 
2761.60     8.28    11.47    16.53    18.20    16.90 
2761.80     8.52    11.95    17.12    19.11    17.38 
2762.00     7.73    11.22    17.01    18.59    17.51 
2762.20     6.34     9.10    14.26    15.28    15.46 
2762.40     5.16     6.83    10.15    11.17    12.17 
2762.60     5.28     5.92     7.76     9.72    10.93 
2762.80     4.35     5.46     7.18     9.28    10.43 
2763.00     4.15     4.96     6.54     8.62    10.01 
2763.20     4.36     5.34     7.18     9.09    10.12 
2763.40     5.27     5.86     7.57     9.61    10.90 
2763.60     6.90     7.18     9.09    10.64    12.33 
2763.80     7.25     7.54     9.26    10.83    12.84 
2764.00     7.68     8.25     9.67    10.71    12.40 
2764.20     8.28     8.47     9.90    10.72    12.15 
2764.40     8.75    10.15    10.69    10.78    12.10 
2764.60     7.86     9.24    10.65    11.12    11.82 
2764.80     7.14     9.16    11.56    12.34    11.75 
2765.00     9.00    11.00    13.02    14.12    12.31 
2765.20     8.44    10.99    14.71    15.07    12.60 
2765.40     8.66    10.57    14.14    14.47    12.20
То есть мне необходимо создать в данном случае 6 массивов(по массиву на каждый столбик). Первый и второй столбец существуют всегда, а вот последующих может быть от 0 до 10, также длина столбиков от 2 строк до 1000. Как не создавать дополнительные массивы и их элементы а спарсить только нужное? Столбики разделены несколькими пробелами (от 4 до 5). С java знаком не очень хорошо, но сделать надо именно на ней. Заранее благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2014, 23:59
Ответы с готовыми решениями:

Парсинг данных из txt файла
Доброго времени суток. В джава я новичок. Подскажите, в чем ошибка, никак не могу понять: public class Main { public static...

Как скопировать текст с файла 1.txt и записать в 2.txt
1)Скажите, как скопировать кусок текста с файла 1.txt и записать в 2.txt? 2)Как вместо этого, которое имеет на ограничение символов в...

Чтение данных с одного txt файла, запись данных во второй txt в определенную позицию
Добрый день, уважаемые форумчане! Нужна ваша помощь. Задача поставлена так: существует файл film2.txt (постараюсь его прикрепить для...

6
21 / 19 / 4
Регистрация: 05.06.2013
Сообщений: 190
18.05.2014, 13:42
Лучший ответ Сообщение было отмечено Isantel как решение

Решение

Например так
Java
1
2
3
4
5
6
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(Ваш файл), "Кодировка"));
 
parse: while((thisLine = reader.readLine()) != null) {
StringTokenizer parser = new StringTokenizer(thisLine, "\t");
разбор по массивам
}
1
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
25.05.2014, 17:13  [ТС]
Цитата Сообщение от Vovabo4 Посмотреть сообщение
Например так
спасибо, открыть файл и считать построчно я могу, но вот как разобрать по массивам отсекая пробелы? если я не знаю точное кол-во стобцов и соответственно кол-во массивов
0
21 / 19 / 4
Регистрация: 05.06.2013
Сообщений: 190
25.05.2014, 17:18
Лучший ответ Сообщение было отмечено Isantel как решение

Решение

С помощью stringtokenizer разбираете каждую строку и записываете всё что вам нужно в массивы.
1
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
25.05.2014, 18:23  [ТС]
Цитата Сообщение от Vovabo4 Посмотреть сообщение
С помощью stringtokenizer разбираете каждую строку и записываете всё что вам нужно в массивы.
в данном случае массивов 7, но их может быть или больше или меньше, как быть с этим? не могли бы привести код, мне бы было намного понятней. Спасибо
0
21 / 19 / 4
Регистрация: 05.06.2013
Сообщений: 190
25.05.2014, 18:26
Сори лень нормально форматировать
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
25
26
27
28
29
30
31
32
33
34
35
36
37
parse: while((thisLine = reader.readLine()) != null) {
            StringTokenizer parser = new StringTokenizer(thisLine, "\t");
            try {
            queNumStr = parser.nextToken(); parser.nextToken();
            queText = parser.nextToken(); parser.nextToken();parser.nextToken();parser.nextToken();parser.nextToken();parser.nextToken();
            last_date = DateParser.parse(parser.nextToken());parser.nextToken();parser.nextToken();
            if(last_date.after(TheLastDateQD)) TheLastDateQD = last_date;
            queNum = Integer.valueOf(queNumStr);
            } catch(Exception e) {delim ++; continue parse;}
            
            QuestionText.add(queText);
            if(!QuestionNumById.containsKey(queNum)) QuestionNumById.put(queNum, (short) lineNum);
            else QuestionNumById.put(queNum * (-1), (short) lineNum);
            QuestionIdByNum.add(queNum);
            
            TagNumByQuestion.add(new ArrayList<Short>());
            String tas = "";
            if(parser.hasMoreElements()) {
                tas = parser.nextToken();
                parser = new StringTokenizer(tas, ",");
            }
            while(parser.hasMoreTokens()) {
                currentTag = parser.nextToken();
                if(currentTag.equals("\\N")) break;
                while(currentTag.startsWith(" ")) currentTag = currentTag.substring(1);
                while(currentTag.endsWith(" ")) currentTag = currentTag.substring(0, currentTag.length() - 1);
                if(!Tags.contains(currentTag)) {
                    Tags.add(currentTag);
                    TagNumByTagId.put(currentTag, (short) (Tags.size() - 1));
                    
                    QuestionNumByTag.add(new ArrayList<Short>());
                }
                TagNumByQuestion.get(QuestionNumById.get(queNum)).add(TagNumByTagId.get(currentTag));
                QuestionNumByTag.get(TagNumByTagId.get(currentTag)).add((short) QuestionNumById.get(queNum));
            }
            lineNum ++;
        }
1
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
25.05.2014, 18:33  [ТС]
Цитата Сообщение от Vovabo4 Посмотреть сообщение
Сори лень нормально форматировать
огромное вам спасибо, буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2014, 18:33
Помогаю со студенческими работами здесь

Ввод данных с txt файла, сортировка и запись результата в txt файлы
Доброго времени суток, такое задание, не могу сделать ввод данных из .тхт файла, чтобы потом отсортировать данные из этого же файла и...

Выбор файла, только txt.
Здравствуйте, для подключения файла к программе использую open dialog. Можно сделать так, что бы при выборе файла видно было только файлы...

Рандомный выбор из файла: считать данные из txt
Есть такое задание: Задан файл в котором записаны Ф.И.О. Требуется рандомно выбрать из этого файла 1/2/3(по запросу пользователя)...

Выбор случайного слова из txt файла и вывод в textBox
Делаю игру &quot;Виселица&quot; и мне нужно реализовать,чтобы по нажатию кнопки выбиралось рандомное слово из текстового файла и textbox присваивал...

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл t1.txt, в который запишите следующий...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru