2016-09-15 197 views
0

我有一些问题让我的项目工作的可执行jar文件(在Eclipse IDE之外)。我想通了这个问题与Java的罐子fileName.jar可执行Jar文件FileNotFoundException

下面的代码:

fileIn = new Scanner(new File("src//resources//TestSave.txt")); 

通过一个小故障诊断和研究,我明白,这不是在可执行的JAR工作,因为它不有一个src文件夹,只能在IDE中创建。这里是我的解决办法:

fileIn = new Scanner(new File("D://resources//TestSave.txt")); 

与此唯一的问题是,如果我想要把这个节目对我的简历,然后谁曾观看它必须将文件夹放置到他们d驱动器。我希望它快速简单,以便他们可以毫不费力地查看我的项目。

如何在不需要引用/创建任何外部文件夹的情况下访问可执行jar文件本身内的资源文件夹?

+0

使用中ClassLoader.getResources()在这里看到http://stackoverflow.com/questions/1429172/how-do-i-list-the-files-inside-a-jar-file – Guenther

+0

[从jar中读取资源文件]可能的副本(http://stackoverflow.com/questions/20389255/reading- a-resource-file-from-within-jar) – VGR

+0

看看我的回答r [这个问题](http://stackoverflow.com/questions/38483934/cannot-read-a-property-file-in-java-6-in-a-runnable-jar/38485873#38485873);它可能会帮助你;也请阅读我的评论以回答问题。 – ujulu

回答

0

您有两种选择。

  1. 将文件放在同一个文件中可执行的JAR fileIn = new Scanner(new File("./TestSave.txt"));

  2. 关注这个帖子reading-a-resource-file-from-within-jar

+0

我不熟悉InputStreams和BufferReader,我是否假设他们的工作方式分别与File type class和Scanner type相同? – jaycalli

+0

@jaycalli这真的取决于你想要做什么内容。如果你想阅读整个文件,你可以使用这样的[/how-to-convert-inputstream-to-string-in-java](https://www.mkyong.com/java/how-to-convert -inputstream到字符串中的Java /)。我的建议是花一些时间来理解InputStream和BufferReader的概念,如果您打算在简历中使用与之相关的内容。 – r00tt