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

В текстовом файле найти определенное слово и в поле String записать все, что идет после него

27.12.2016, 22:49. Показов 3184. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Нужна помощь. Необходимо в текстовом файле найти определенное слово и в поле String записать все что идет после нее. Допустим есть строка "Type: String","Type: Double". Так вот, допустим слово для поиска "Type: ". И необходимо в стринговый массив записать все слова которые идут после ":", собственно "String"и"Double" в этом случае. Каким образом это можно реализовать?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@FXML
    public void doOpen(ActionEvent event){
        FileChooser fileChooser = getFileChooser("Open TXT");
        File file;
        if((file = fileChooser.showOpenDialog(null)) != null)
            try {
                FileInputStream avail = new FileInputStream(file);
                String requestWord = "Type";
                
            }catch (IOException e){
                showError("File not found");
            }catch (JAXBException e){
                showError("Invalid format");
            }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2016, 22:49
Ответы с готовыми решениями:

Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» - «имя».
/* Удалить людей, имеющих одинаковые имена Создать словарь (Map&lt;String, String&gt;) занести в него...

Разделение строки на 2 подстроки с последующей записью последних в HashMap<String, String>
Дорбого времени суток. Застрял на такой глупости блок кода который читает построчно тхт файл и...

Не совпадает в if() String и полученный String от getText()
Я делаю программу, в которой нужно проверить логин. Я указываю в одной переменной правильный...

4
35 / 35 / 54
Регистрация: 26.11.2016
Сообщений: 115
28.12.2016, 09:49
Вот так вроде работает (если я правильно задание понял):
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void main(String[] args) {
        // TODO code application logic here
        String str = "Type: String Type: String Double Integer Type: Double Type: String Double ";
        String[] strAr = str.split(" ");
        ArrayList<String> strList = new ArrayList<>();
        String news = "";
        for(String s:strAr){
            if(s.equals("Type:")){
                if(!news.equals("")){
                   strList.add(news); 
                }
                news = s;
            }else{
                news+=" "+s;
            } 
        }
        strList.add(news);
        for(String s: strList){
            System.out.println(s);
        }
    }
0
0 / 0 / 1
Регистрация: 20.12.2015
Сообщений: 17
28.12.2016, 09:52  [ТС]
Просто в строке это сделать для меня не проблема. Я почему то жестко туплю и не могу вытащить именно при чтении из файла...что то такое пытался сделать, но выбрасывает, что не может конвертировать java.lang.String[] в java.lang.String. Я понимаю в чем ошибка, но не понимаю как ее исправить...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  try {
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(
                            new FileInputStream("src/WordsFile.doc"), StandardCharsets.UTF_8)) ;{
                String line;
                String[] res;
                while((line =reader.readLine())!=null){
                    int i = 0;
                    res[i] = line.split("Package: ");
                    i++;
                }
                if (res.length == 0){
                    res[0] = "";
                }
                for (String word : res){
                    System.out.println(word);
                }
            }
        }
0
35 / 35 / 54
Регистрация: 26.11.2016
Сообщений: 115
28.12.2016, 10:40
У меня вот так вроде работает:
Кликните здесь для просмотра всего текста
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
public static void main(String[] args) throws FileNotFoundException, IOException {
        String str1="";
        String str;
        try ( // TODO code application logic here
                BufferedReader reader = new BufferedReader(new FileReader(new File("input.txt")))) {
            while((str=reader.readLine())!=null){
                str1+=str;
            }
        }
        System.out.println(str1);
                //"Type: String Type: String Double Integer Type: Double Type: String Double ";
        String[] strAr = str1.split(" ");
        ArrayList<String> strList = new ArrayList<>();
        String news = "";
        for(String s:strAr){
            if(s.equals("Type:")){
                if(!news.equals("")){
                   strList.add(news); 
                }
                news = s;
            }else{
                news+=" "+s;
            } 
        }
        strList.add(news);
        for(String s: strList){
            System.out.println(s);
        };


Добавлено через 9 минут
если через Ваш код, то вот так вроде работает, правда не пробовал .doc:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
       try {
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(
                            new FileInputStream("input.txt"/*"src/WordsFile.doc"*/), StandardCharsets.UTF_8)) ;{
                String line;
                String line1 = "";
                String[] res;
                while((line =reader.readLine())!=null){
                    line1+=line;
                }
                
                res = line1.split("Type: ");
 
                for (String word : res){
                    System.out.println(word);
                }
            }
        }catch(IOException e){
            printStackTrace();
        }
    }

сейчас попробую с ".doc"

Добавлено через 10 минут
c ".doc" вывод вот такой:
//что-то непонятное
String //что-то непонятное
String Double Integer //что-то непонятное
Double //что-то непонятное
String Double //что-то непонятное
куча не читаемых символов, их наверное тоже можно удалить, но я пока не разбирался как?
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
28.12.2016, 10:45
Цитата Сообщение от KoalaLoveTree Посмотреть сообщение
Необходимо в текстовом файле найти определенное слово и в поле String записать все что идет после нее.
Цитата Сообщение от KoalaLoveTree Посмотреть сообщение
И необходимо в стринговый массив записать все слова которые идут после ":"
Определитесь с задачей, в String или String[] нужно писать?

Добавлено через 1 минуту
После попадания писать все что в строке, или до конца файла?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2016, 10:45
Помогаю со студенческими работами здесь

Создать строковый файл и записать в него все слова из исходного файла, начинающиеся на заданную букву
Дан символ C — прописная (заглавная) русская буква и текстовый файл. Создать строковый файл и...

Как найти наибольший элемент в массиве, и вывести все, что после него?
Я уже подвспотел, сидя с этим. Мне нужен индекс максимального элемента, а как его получить - я ума...

Как считать определенный символ (символы) из текстового файла и записать его в stack?
Допустим я создаю два стека, один для символов, другой для букв. Пусть в текстовом файле лежит...

Найти в текстовом файле слова-палиндромы и записать их в новый файл
Добрый день! Очень нужна помощь! Напишите основной код, остальное допишу. Спасибо! Добавлено...

try { s2 = new String(musicRecord.Texts); } catch(Exception e) { s2 = new String(' '); }
У меня есть класс, в котором есть переменные класса(public) в том числе и типа String. Экземпляры...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru