Как искать строку внутри файла в Java? - PullRequest
0 голосов
/ 03 февраля 2020

Написание программы java, и мне нужно, чтобы она искала в одном текстовом файле staff_addresses2.txt любые названия городов, содержащие слово Wax, а затем принимала имена людей, которые живут в этих городах, и искала эти имена. в другом текстовом файле staff_salaries2.txt, но сейчас он возвращает только первый результат, когда должно быть 13 586.

Код:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.*;
import java.util.*;

class A
{
        public static void main(String[] args) throws IOException
        {
                File f1 =new File("personnel_addresses2.txt"); //Creation of File Descriptor for input file
                File f2 = new File("personnel_salaries2.txt");
                String[] words = null; //Intialize the word Array
                String[] salary = null;
                List<String> list = new ArrayList<String>();
                FileReader fr = new FileReader(f1); //Creation of File Reader object
                BufferedReader br = new BufferedReader(fr); //Creation of BufferedReader object
                FileReader f2r = new FileReader(f2);
                BufferedReader b2r = new BufferedReader(f2r);
                String s;
                String d;
                String Name;
                String City;
                String Person;
                String Sal;
                String input="Wax"; // Input word to be searched
                while((s= br.readLine())!=null) //Reading Content from the file
                {
                        words = s.split("\\|");
                        Name = words[0];
                        City = words[1];


                        for (String word : words)
                        {
                                if (word.equals(input)) //Search for the given word
                                {
                                        //list.add(Name);
                                        while((d = b2r.readL System.out.println(name);ine()) != null)
                                        {
                                                salary = d.split("\\|");
                                                Person = salary[0];
                                                Sal = salary[1];
                                                for (String sal : salary)
                                                {
                                                        if(sal.equals(Name))
                                                        {
                                                                System.out.println(d);
                                                        }
                                                }
                                        }


                                }
                        }
                }
                fr.close();
                f2r.close();

staff_addresses2.txt (частично)

Japheth Edwards|Albany
Evan Taylor|Wax
Olivia Grimme|Wax
Alfonso McNeil|Somerset
Allyson Schroeder|Washington
April Tomes|Lancaster
Laura Hancock|Louisville
Robert Joyce|Remington
HamedHaribHamed Yates|Somerset
Robin Snoke|Remington
David Bash|Versailles
Boyko Michels|Washington

staff_salaries2.txt (частично)

Jessica Collett|59789
Mitchell Long|68985
Khumbo Benedict|53385
Adam Kandibanda|67671
Lloyd Wathen|98564
Daniel Towery|36588
Suzanne Siferd|97528
James Gudger|67113
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...