package p13_pliki.tadeusz;

import java.io.FileNotFoundException;
import java.util.Scanner;

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;

public class PoliczJednoSlowo3 {

	public static void main(String[] args) {
		JFileChooser chooser = new JFileChooser(".");
		chooser.setFileFilter(new FileNameExtensionFilter("Pliki tekstowe", "txt", "csv", "java", "py"));
		int coSieStalo = chooser.showOpenDialog(null);
		if(coSieStalo != JFileChooser.APPROVE_OPTION) {
			return;
		}
		
		String szukaneSlowo = JOptionPane.showInputDialog("Podaj szukane słowo");
		if(szukaneSlowo == null) {
			return;
		}
		// Oblicz, ile razy w pliku Pan Tadeusz występuje to słowo
		// W pierwszej wersji możesz po prostu policzyć w ilu liniach występuje ten tekst.
		int ile = 0;
		try(Scanner scanner = new Scanner(chooser.getSelectedFile())) {
			scanner.useDelimiter("[^\\p{L}\\d]+");
			while(scanner.hasNext()) {
				String slowo = scanner.next();
				if(slowo.equals(szukaneSlowo)) {
					ile++;
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		
		JOptionPane.showMessageDialog(null, "Słowo " + szukaneSlowo + " występuje " + ile + " razy.");
	}

}
