Bre*_*ett 1 java fileinputstream
我试图用Java读取一个名为"KFormLList.txt"的文件.它与此程序一起保存在默认包中,但是当我尝试运行它时,我收到以下错误消息:"错误: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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试将文本文件放在项目的根目录中.
传递给FileInputStream构造函数的name参数是文件系统中文件的路径名.
路径名,无论是抽象的还是字符串形式,可以是绝对的或相对的.绝对路径名是完整的,因为不需要其他信息来定位它表示的文件.相反,相对路径名必须根据从其他路径名获取的信息来解释.默认情况下,java.io包中的类始终解析当前用户目录的相对路径名.此目录由系统属性user.dir命名,通常是调用Java虚拟机的目录.
我假设您使用的是Eclipse,默认情况下Eclipse会将其设置user.dir为您项目的根目录.通过阅读其他材料,Netbeans遵循相同的惯例.
这可以使用以下代码进行测试,该代码应输出项目的路径:
System.out.println(System.getProperty("user.dir"));
Run Code Online (Sandbox Code Playgroud)
将文件放在目录的根目录中可以找到它FileInputStream.
| 归档时间: |
|
| 查看次数: |
2345 次 |
| 最近记录: |