Eclipse无法读取src文件夹中的文本文件

问题描述 投票:0回答:1

我正在为我的一个类实现一个Branch Predictor,并且尝试从Eclipse中的src文件夹中读取文件,但是由于某种原因,它无法打开文件。我之前使用完全相同的过程进行过此操作,所以我不确定有什么不同。

traceFile是从命令行设置的,如果我打印“ input”,它将打印出正确的文件路径,并且我已经确认手动存在。

ClassLoader loader = BiModalPredictor.class.getClassLoader();
File input = new File(loader.getResource(traceFile).getFile());
Scanner fin = new Scanner(input);

关于为什么会发生这种情况有任何见解吗?我尝试过重新启动Eclipse,刷新文件,并且还在另一个有效的程序上对其进行了测试。不知道为什么找不到this文件。

java java-io
1个回答
0
投票

[classpath上的资源,即可通过classloaders getResource方法获得的资源,当您将应用程序部署为jar文件或一般部署时,将不是文件系统上的文件。请勿对此类资源使用getResource,而应使用File访问资源内容。

此外,您的代码是错误的。 getResourceAsStream返回一个getResourceAsStream。如果要从getResource()中获取URL对象,则应使用URL,其中通过调用File获得URL

new File(uri)
© www.soinside.com 2019 - 2024. All rights reserved.