在 java blue j 的文本文件中搜索单词
searching for a word in a text file in java blue j
当我 运行 代码时出现错误
java.lang.ArrayIndexOutOfBoundsException: 0
at SearchFile.main(SearchFile.java:28)
MyNote.txt是我电脑D目录下保存的文本文件。
而 "ad" 是该文本文件中的单词。
import java.io.*;
public class SearchFile {
public static void main(String args[]) {
args[0] = "ad";
if (args.length > 0) {
String searchword = args[0];
try {
int LineCount = 0;
String line = "";
BufferedReader bReader = new BufferedReader(new FileReader("D:/MyNote.txt"));
while ((line = bReader.readLine()) != null) {
LineCount++;
int posFound = line.indexOf(searchword);
if (posFound > - 1) {
System.out.println("Search word found at position " + posFound + " on line " + LineCount);
}
}
bReader.close();
}
catch (IOException e) {
System.out.println("Error: " + e.toString());
}
}
else {
System.out.println("Please provide a word to search the file for.");
}
}
}
我不知道错误是什么或我做错了什么。
我对此并不陌生,请帮忙!!
谢谢
问题是您的 args[]
是空的,并且在您的应用程序启动时没有大小。在这种情况下,不存在索引 0
并且带有 args[0] = "ad";
的行失败。
尝试使用参数启动您的应用程序,而不是尝试在代码中手动设置它。如果您没有看到任何其他解决方案,请自己创建一个数组并将其设置为填充您要使用的信息的变量。
使用另一个变量代替 args[0]
:
String str = "ad";
if (str.length() > 0) {
String searchword = str;
变量 args[0]
通过 main 方法用作 class 的输入。此外,在你的情况下它是空的,因为没有给出参数。
当我 运行 代码时出现错误
java.lang.ArrayIndexOutOfBoundsException: 0
at SearchFile.main(SearchFile.java:28)
MyNote.txt是我电脑D目录下保存的文本文件。 而 "ad" 是该文本文件中的单词。
import java.io.*;
public class SearchFile {
public static void main(String args[]) {
args[0] = "ad";
if (args.length > 0) {
String searchword = args[0];
try {
int LineCount = 0;
String line = "";
BufferedReader bReader = new BufferedReader(new FileReader("D:/MyNote.txt"));
while ((line = bReader.readLine()) != null) {
LineCount++;
int posFound = line.indexOf(searchword);
if (posFound > - 1) {
System.out.println("Search word found at position " + posFound + " on line " + LineCount);
}
}
bReader.close();
}
catch (IOException e) {
System.out.println("Error: " + e.toString());
}
}
else {
System.out.println("Please provide a word to search the file for.");
}
}
}
我不知道错误是什么或我做错了什么。 我对此并不陌生,请帮忙!! 谢谢
问题是您的 args[]
是空的,并且在您的应用程序启动时没有大小。在这种情况下,不存在索引 0
并且带有 args[0] = "ad";
的行失败。
尝试使用参数启动您的应用程序,而不是尝试在代码中手动设置它。如果您没有看到任何其他解决方案,请自己创建一个数组并将其设置为填充您要使用的信息的变量。
使用另一个变量代替 args[0]
:
String str = "ad";
if (str.length() > 0) {
String searchword = str;
变量 args[0]
通过 main 方法用作 class 的输入。此外,在你的情况下它是空的,因为没有给出参数。