java - 如何自己创建应用程序?

时间:2014-07-23 16:26:03

标签: java macos file .app

我正在构建一个在java上运行的应用程序(对于mac),我需要它来编辑自己的内容。因为,毕竟,一个应用程序只是一个美化的目录,我假设你可以用它来改变它里面的东西。但是这个应用程序将被分发,我不知道用户希望放置应用程序的位置。目前,我所做的所有文件引用都使用File("path/from/user/to/application"),但当然,假设您可以从用户主驱动器中找到您的应用程序。有没有办法知道.app文件存储在哪里?我在应用程序中的当前目录设置是:

app.app
Contents
|Info.plist
|PkgInfo
|---Resources
|   |icon.icns
|
|---MacOS
|   |JavaAppLauncher
|
|---Java
    |---app.jar
        |---package
            |classFile.class
            |---Folder
                |FileToEdit.xml

那么有没有办法在java代码中找到并读取/更改FileToEdit.xml(存储在classFile.class中)而不知道app.app在哪里?

2 个答案:

答案 0 :(得分:0)

我要说的只是指定从src文件夹开始的路径(从项目的文件夹角度看)。

所以如果你有类似的东西:

的src / FileToEdit.xml

然后您需要做的就是使用/FileToEdit.xml,因为它位于类路径的根目录中。

看到这个: Read xml file inside my project (src)

答案 1 :(得分:0)

您可以使用app.class.getClassLoader().getResourceAsStream("package/FileToEdit.xml")访问程序中的文件,即使它已装在jar中。如您所见,您不需要在那里使用完整路径,只需确保您的资源包含在构建路径中。这是为了读取文件。无法保证文件可写。

您可以使用临时文件来执行您需要执行的操作。那些很可能是可写的。您可以使用原始FileToEdit.xml文件作为临时文件的模板,然后使用

创建它
File file = File.createTempFile("FileToEdit.xml", null);

并使用该文件。

但如果您真的想要保留数据,那么您应该使用适当的数据库。