我尝试使用整个路径直接链接,但也没有解决它。
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”根文件夹中:here
有什么想法吗?
答案 0 :(得分:2)
由于您使用的是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
文件夹中的字节码,但找不到相对引用。
答案 1 :(得分:0)
给出确切的路径
String inputDatabase = "c:/java/src/eliza/inputDataBase.txt";
答案 2 :(得分:0)
您没有给出正确的路径,请重新检查
尝试
{BASE_PATH}+ "Eliza/src/inputDataBase.txt"
答案 3 :(得分:0)
源目录树通常不会在执行期间出现,因此运行时所需的文件不应放在那里......除非您打算将它们用作资源,在这种情况下,它们的路径名是相对的包根,并不以'src'开头,数据由getResourceXXX()方法访问,而不是通过FileInputStream访问。