我对我的Project Java上的文件有疑问 我的项目在Eclipse上运行但不是控制台模式
我有3个套餐
pk 1
- >类读取文件
FileInputStream propFile= null;
Properties properties = new Properties(System.getProperties());
try {
propFile = new FileInputStream("file.txt");
properties.load(propFile);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
- > file.txt的
PK2
PK3 - >我的主要
我的代码在Eclispe上运行,但如果不在控制台模式下
我不明白为什么我能解决这个问题。
答案 0 :(得分:0)
您的代码尝试从当前目录中读取名为file.txt的文件。因此,在控制台中启动程序之前,请键入命令
ls
在Unix或
上dir
在Windows上。如果没有列出file.txt
,那么您的代码将抛出FileNotFoundException。
答案 1 :(得分:0)
补充@ JBNizet的回答;您可以使用 new 文件API执行此操作:
final Path propertiesFile = Paths.get("file.txt").toAbsolutePath();
final InputStream(in) = Files.newInputStream(propertiesFile);
props.load(in);
如果该文件不存在,您将获得NoSuchFileException
。如果您无法访问它,则会获得AccessDeniedException
。旧的遗留文件API无法区分的事情!
旁注:看看here。这将为您提供切换到Files
API的许多理由。