我正在尝试读取一个名为"KFormLList.txt“的Java文件。它和这个程序一起保存在默认的包中,但是当我试图运行它时,我得到了这个错误信息:" error : KFormLList.txt (系统找不到指定的文件)“
我做错了什么?谢谢你的帮助。
import java.io.*;
public class VLOCGenerater {
/**
* @param args
*/
public static void main(String[] args) {
try {
//Read the text file "KFormLList.txt"
FileInputStream fis = new FileInputStream("KFormLList.txt");
DataInputStream dis = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String strLine;
int V = 0;
int LOC = 0;
while((strLine = br.readLine())!= null ){
if (strLine.trim().length() != 0){
System.out.println(strLine);
V++;
}
else {
LOC++;
}
}
System.out.println("V = " + V);
System.out.println("LOC = " + LOC);
dis.close();
}
catch (Exception e){
System.err.println("Error: " + e.getMessage());
}
}
}发布于 2012-12-05 02:37:13
尝试将文本文件放在项目的根目录中。
传递到FileInputStream构造函数的name参数是文件系统中文件的路径名。
路径名,无论是抽象的还是字符串形式的,可以是绝对的也可以是相对的。绝对路径名是完整的,因为不需要任何其他信息来定位它所表示的文件。相反,相对路径名必须根据从其他路径名获取的信息来解释。默认情况下,java.io包中的类始终根据当前用户目录解析相对路径名。该目录由系统属性user.dir命名,通常是调用Java虚拟机的目录。
我假设您使用的是Eclipse,在默认情况下,Eclipse会将user.dir设置为项目的根目录。通过阅读其他材料,Netbeans遵循了相同的约定。
这可以使用以下代码进行测试,这些代码应该会输出到项目的路径:
System.out.println(System.getProperty("user.dir"));将文件放在目录的根目录中可以让FileInputStream找到它。
发布于 2012-12-05 02:39:22
如果您正在使用NetBeans (可能与Eclipse类似),请确保您的文件位于NetbeansProjects/YourProject/中
如果你已经把你的程序编译成了.jar文件,那么把txt放到.jar所在的位置。
发布于 2012-12-05 02:42:31
您可以将文件放在项目的“根目录”中,也可以将文件的“绝对路径”作为参数提供给FileInputStream。
希望这能有所帮助。:)。
https://stackoverflow.com/questions/13709616
复制相似问题