Так что мне нужна помощь в исправлении этого кода или, скорее, в понимании его ошибок. Сам код должен прочитать файл и распечатать вхождение строки слов. Однако, кажется, что он всегда печатает «Не удается найти файл», даже если файл .txt находится на моем рабочем столе.
import java.util.*;
import java.io.*;
/**
* Searcher
*/
public class Searcher extends File {
Scanner scn;
public Searcher(String filename) {
super(filename);
}
public void search(String input) {
try {
scn = new Scanner(this);
String data = "";
while (scn.hasNext()) {
data = scn.nextLine();
}
int count = 0, fromIndex = 0;
while ((fromIndex = data.indexOf(input, fromIndex)) != -1) {
count++;
fromIndex++;
}
System.out.println("Total occurrences: " + count);
scn.close();
} catch (Exception e) {
System.out.println("Cant find file ");
}
}
public static void main(String[] args) {
Searcher search = new Searcher("ihaveadream.txt");
search.search("slavery");
}
}