【发布时间】:2019-03-15 22:24:39
【问题描述】:
我制作了一个用于学术目的的小型 Java 程序,它的主要重点是读取一些 .txt 文件并将信息呈现给用户。这些文件位于 src 文件夹下的资源文件夹中。 当从 Eclipse 启动时,程序会按预期运行。 使用 Launch4j 应用程序,我能够成功地创建一个运行良好且符合预期的 exe,直到我尝试读取资源文件夹中的 .txt 文件,该文件似乎无法访问。
我猜当我启动 exe 时,运行时路径会更改为创建 exe 的位置,所以我在桌面文件夹中创建了程序并在程序中指定了这个路径,但这似乎没有解决问题。
作为替代方案,我将 .txt 文件从程序中移出,并再次在桌面文件夹中创建了带有所述 .txt 文件的 exe,将程序链接到此路径,但它再次不起作用。
用于获取 .txt 文件的命令是:
Files.readAllLines(Paths.get(doc)).get(line)
而 doc 只是预期的 .txt 文件的路径。
值得注意的是,我以前没有 Java 方面的经验,并且在整个程序开发过程中,我尽我所能使用我完全理解的命令并使其尽可能简单。我希望解决方案可以沿着这些思路!我非常确信这一定是一个菜鸟错误,但我似乎无法在任何地方找到解决这个特定问题的方法。
【问题讨论】:
-
应用程序资源在部署时将成为嵌入式资源,因此明智的做法是立即开始访问它们。 embedded-resource 必须通过 URL 而不是文件访问。请参阅info. page for embedded resource 了解如何形成 URL。
-
非常感谢!!它正在正常工作!如果我可以投票给你,我会的,但因为我是新手,我似乎做不到:(
-
a) 很高兴你把它整理好了。 b) 支持 cmets(很大程度上)是无关紧要的。赞成答案有助于将它们排在首位,但您可以做的最好的事情就是接受答案,我注意到您已经这样做了,所以一切都很好。 :)
标签: java path directory embedded-resource launch4j