我试图将一个单词作为输入,并检查该单词是否存在于文本文件中。但我最终得到了这个错误。
import java.io.*;
public class SpellingChecker {
public static void test(String str) throws IOException{
FileReader fr = new FileReader("wordsEn.txt");
BufferedReader br = new BufferedReader(fr);
int i=0,j=0,n=str.length();
str+=' ';
String temp="",temp2="";
do{
for(i=j;str.charAt(i)!=' ';i++)
temp+=str.charAt(i);
System.out.println(temp);
while((temp2=br.readLine()) != null) {
if(temp==temp2)
System.out.print("\t\t\tOK");
else
System.out.print("\t\t\tWRONG");
}
temp="";
j=i+1;
}while(i<n);
fr.close();
}
public static void main(String[] args) throws IOException{
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("Enter string for which you want to check spelling : ");
String strng=input.nextLine();
test(strng);
}
}
错误是
Exception in thread "main" java.io.FileNotFoundException: wordsEn.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:131)
at java.io.FileInputStream.<init>(FileInputStream.java:87)
at java.io.FileReader.<init>(FileReader.java:58)
at SpellingChecker.test(SpellingChecker.java:5)
at SpellingChecker.main(SpellingChecker.java:29)
答案 0 :(得分:0)
您必须将文本文件放在源目录中。
答案 1 :(得分:0)
只有文件的名称不会。您必须在创建时提及文件的路径 “FileReader”对象。例如,如果路径是“C:\ wordsEn.txt”,你应该写: -
FileReader fr=new FileReader(new File("C://wordsEn.txt"));
请记住,如果您使用'\'代替“//”“Illegal Escape Character”将显示错误。 这应该解决它。试一试......