Program szukający instrukcji "if" i słowa "wariant" w pliku Test.java

0

Cześć, otrzymałam zadanie, w którym muszę napisać program szukający instrukcji if i słowa "wariant" w pliku "Test.java". Chciałabym Was prosić o pomoc, ponieważ lekko utknęłam.
Stwierdziłam, że na początek zamienię plik na ciąg znaków i potem przy użyciu FileReader i BufferedReader go odczytam i w pętli policzę słowa "wariant". Tylko jak zrobić, żeby czytany był cały tekst, a nie linia po linii? W sensie, żeby liczyło wszystkie słowa, a nie tylko w danej linii. Kod na dole jest testowy, zadanie muszę wykonać trochę inaczej, ale żeby zobaczyć czy coś "działa" napisałam to trochę prowizorycznie.
Dzięki za wszystkie odpowiedzi i mam nadzieję, że jakoś mnie naprowadzicie na rozwiązanie. :)

public class Finder {
	public static void main(String[] args) throws IOException {
		 FileReader fr = null;
		 String content = new String(Files.readAllBytes(Paths.get("Test.java")));
		    // OTWIERANIE PLIKU:
		   try {
		     String str;
			fr = new FileReader("Test.java");
		   } catch (FileNotFoundException e) {
		       System.out.println("BŁĄD PRZY OTWIERANIU PLIKU!");
		       System.exit(1);
		   }
		   BufferedReader bfr = new BufferedReader(fr);
		   // ODCZYT KOLEJNYCH LINII Z PLIKU:
		   try {
		     while((content= bfr.readLine()) != null){
		    	 String code = content; 
		    	 Pattern p = Pattern.compile("wariant"); //LICZENIE SŁÓW "WARIANT"
		    	 java.util.regex.Matcher m = p.matcher(code);
		    	 int count = 0;
		    	 while (m.find()) {
		    	     count +=1;
		    	     System.out.println(count);
		    	   }
		    	
		     }
		    } catch (IOException e) {
		        System.out.println("BŁĄD ODCZYTU Z PLIKU!");
		        System.exit(2);
		   }

		   // ZAMYKANIE PLIKU
		   try {
		     fr.close();
		    } catch (IOException e) {
		         System.out.println("BŁĄD PRZY ZAMYKANIU PLIKU!");
		         System.exit(3);
		        }
		    }
	
		
}
0

A jakbyś dała:

int count = 0;

przed try-catch?

1

Mam takie wrażenie że im bardziej ktoś jest początkujący tym bardziej skomplikowany kod produkuje, bo nie chce tykać tych "trudnych" rzeczy :D :D
Samo policzenie ile w pliku jest "wariantów":

        String allData = new String(Files.readAllBytes(Paths.get("input.txt")));
        System.out.println(allData.split("wariant").length-1);

1 użytkowników online, w tym zalogowanych: 0, gości: 1