错误FileNotFound - 适用于Eclipse但不适用于控制台Mod

时间:2014-03-15 12:22:14

标签: java file-io

我对我的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上运行,但如果不在控制台模式下

我不明白为什么我能解决这个问题。

2 个答案:

答案 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的许多理由。