我尝试使用整个路径直接链接,但也没有解决它。
package eliza;
import java.io.*;
public class Eliza {
public static void main(String[] args) throws IOException {
String inputDatabase = "src/eliza/inputDataBase.txt";
String outputDatabase = "src/eliza/outputDataBase.txt";
Reader database = new Reader();
String[][] inputDB = database.Reader(inputDatabase);
String[][] outputDB = database.Reader(outputDatabase);
}
}
以下是阅读器类:
package eliza;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Reader {
public String[][] Reader(String name) throws IOException {
int length = 0;
String sizeLine;
FileReader sizeReader = new FileReader(name);
BufferedReader sizeBuffer = new BufferedReader(sizeReader);
while((sizeLine = sizeBuffer.readLine()) != null) {
length++;
}
String[][] database = new String[length][1];
return (database);
}
}
这是我目录的照片。我什至将这些文本文件放在"eliza"根文件夹中:这里
有什么想法吗?
由于使用的是 IDE,因此需要提供完整的规范路径。它应该是
String inputDatabase = "C:\Users\Tommy\Desktop\Eliza\src\eliza\inputDataBase.txt";
String outputDatabase = "C:\Users\Tommy\Desktop\Eliza\src\eliza\outputDataBase.txt";
IDE 可能正在执行其bin
文件夹中的字节码,但找不到相对引用。
给出确切的路径,如下所示
String inputDatabase = "c:/java/src/eliza/inputDataBase.txt";
您没有给出正确的路径,请重新检查
尝试
{BASE_PATH}+ "Eliza/src/inputDataBase.txt"
执行期间通常不存在源目录树,因此运行时所需的文件不应放在那里......除非你要将它们用作资源,在这种情况下,它们的路径名是相对于包根目录的,并且不以"src"开头,并且数据是通过getResourceXXX()方法访问的,而不是通过FileInputStream访问的。