【发布时间】:2013-09-18 20:56:54
【问题描述】:
我尝试使用整个路径直接链接,但这也没有解决。
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
有什么想法吗?
【问题讨论】:
-
文件引用将与程序的执行上下文相关。将文件放在 src 文件夹中会生成嵌入式资源,这是一个不同的问题。添加 System.out.println(new File(".").getCanonicalPath());到程序的开头,这将告诉程序从“哪里”运行...
-
C:\Users\Tommy\Desktop\Eliza\src 这就是结果。所以我应该可以只使用 inputDataBase.txt ,不是吗?
-
我发现了这个问题。我在源目录的 eliza 包文件夹中有文件。我将它们移至 src 并解决了问题。有没有办法引用打包目录中的文件?
-
我担心它在 src 目录中运行,但是是的,你“可以”将它放在这里。我假设你在 eclipse 中运行 ...
-
应用程序类路径上下文中的文件通常称为嵌入式资源。这些可以通过使用 getClass().getResource("...") 之类的方法来访问。这将返回资源的 URL,您可以访问其 InputStream 以读取其内容...
标签: java java-io filenotfoundexception