所以我创建了一个简单的应用程序,我用它来申请高中实习。它是使用Eclipse构建的。
我最初导出到一个可运行的.jar文件中,但我最初保存文件的位置(" src / fileDirectories")在导出时没有工作。我然后将位置设置为&# 34; ./ fileDirectories")工作且应用程序可以实际运行,但.jar文件在与.jar文件相同的文件夹中创建文件夹目录。
这不是太糟糕,因为我可以用.jar和保存的文件创建一个文件夹,这很好,但与图像类似,我想知道是否有办法将目录中的.txt文件保存到.jar文件中,这样一切都只适用于.jar应用程序。
答案 0 :(得分:0)
假设您要访问的文件是静态的,并且未被应用程序更改,您可以执行此操作using the classpath。
当您使用new File("path")
访问文件时,Java将在文件系统中相对于工作目录(即从中启动应用程序的位置)查找文件。
访问文件的另一种方法是从类路径中查找它们 - 这是Java搜索资源的位置列表。除其他外,它包括JAR存档的顶级。您可以按如下方式访问:
this.getClass().getResourceAsStream("/my_file.txt")
构建工具通常会有预配置的目录(例如src/main/resources
),这些目录会从源树复制到JAR中,以便以这种方式访问它们。
如果你想在运行时访问一些静态资源或配置,但是不想让你的应用程序传递,那么这很好。 但是,如果您想要的是文件的工作文件夹,您的应用程序将更改或创建新的实例,例如用户文档,您不希望这样编辑JAR - 您需要为这些创建一个单独的文件夹。