Java 为了在运行jar时能够访问文件,我应该将文件放在哪里?
我将一些对象存储在文件中,在Netbeans控制台中一切正常。但是,当我通过命令行(java-jarmyapp.JAR)运行JAR时,我得到了以下结果:Java 为了在运行jar时能够访问文件,我应该将文件放在哪里?,java,jar,operating-system,Java,Jar,Operating System,我将一些对象存储在文件中,在Netbeans控制台中一切正常。但是,当我通过命令行(java-jarmyapp.JAR)运行JAR时,我得到了以下结果: 我应该将文件放在哪里才能通过命令行运行应用程序?答案取决于您是否要写入文件 你可以。。。 确保文件相对于Jar文件放置,并使用相对路径。问题是,如果执行上下文与存储jar和文件的目录不同,您将无法再次找到它们 这还取决于您的构建过程,以确保将所有必需的文件复制到Jar的构建位置 你可以。。。 将文件放在一个众所周知的位置,例如,在Window
我应该将文件放在哪里才能通过命令行运行应用程序?答案取决于您是否要写入文件 你可以。。。 确保文件相对于Jar文件放置,并使用相对路径。问题是,如果执行上下文与存储jar和文件的目录不同,您将无法再次找到它们 这还取决于您的构建过程,以确保将所有必需的文件复制到Jar的构建位置 你可以。。。 将文件放在一个众所周知的位置,例如,在Windows上可以使用
{user.home}/AppData/Local/{application name}
,或者在Mac上可以使用{user.home}/Library/application Support/{application name}
将文件放在这里,然后可以使用文件的绝对路径
这可能会成为安装问题,因为您需要确保在安装应用程序时将所有必需的文件复制到所需的位置
如果这些文件是在运行时自动生成的,那么您只需要确保这些目录存在,如果不存在,则创建它们
你可以。。。
将文件存储在Jar上下文(也称为嵌入式资源)中,执行此操作的方式将取决于IDE和构建过程,例如,在Netbeans中,您可以将文件复制到项目的src
目录中,它们将自动包含在生成的Jar文件中。我相信Eclipse也可以以同样的方式工作。但是,如果您使用的是Maven,则需要将文件放在resources
目录中
然后,您将使用或根据需要访问这些资源
但是,这将使资源为只读。答案将取决于您是否要写入文件 你可以。。。 确保文件相对于Jar文件放置,并使用相对路径。问题是,如果执行上下文与存储jar和文件的目录不同,您将无法再次找到它们 这还取决于您的构建过程,以确保将所有必需的文件复制到Jar的构建位置 你可以。。。 将文件放在一个众所周知的位置,例如,在Windows上可以使用
{user.home}/AppData/Local/{application name}
,或者在Mac上可以使用{user.home}/Library/application Support/{application name}
将文件放在这里,然后可以使用文件的绝对路径
这可能会成为安装问题,因为您需要确保在安装应用程序时将所有必需的文件复制到所需的位置
如果这些文件是在运行时自动生成的,那么您只需要确保这些目录存在,如果不存在,则创建它们
你可以。。。
将文件存储在Jar上下文(也称为嵌入式资源)中,执行此操作的方式将取决于IDE和构建过程,例如,在Netbeans中,您可以将文件复制到项目的src
目录中,它们将自动包含在生成的Jar文件中。我相信Eclipse也可以以同样的方式工作。但是,如果您使用的是Maven,则需要将文件放在resources
目录中
然后,您将使用或根据需要访问这些资源
但是,这将使资源为只读。答案将取决于您是否要写入文件 你可以。。。 确保文件相对于Jar文件放置,并使用相对路径。问题是,如果执行上下文与存储jar和文件的目录不同,您将无法再次找到它们 这还取决于您的构建过程,以确保将所有必需的文件复制到Jar的构建位置 你可以。。。 将文件放在一个众所周知的位置,例如,在Windows上可以使用
{user.home}/AppData/Local/{application name}
,或者在Mac上可以使用{user.home}/Library/application Support/{application name}
将文件放在这里,然后可以使用文件的绝对路径
这可能会成为安装问题,因为您需要确保在安装应用程序时将所有必需的文件复制到所需的位置
如果这些文件是在运行时自动生成的,那么您只需要确保这些目录存在,如果不存在,则创建它们
你可以。。。
将文件存储在Jar上下文(也称为嵌入式资源)中,执行此操作的方式将取决于IDE和构建过程,例如,在Netbeans中,您可以将文件复制到项目的src
目录中,它们将自动包含在生成的Jar文件中。我相信Eclipse也可以以同样的方式工作。但是,如果您使用的是Maven,则需要将文件放在resources
目录中
然后,您将使用或根据需要访问这些资源
但是,这将使资源为只读。答案将取决于您是否要写入文件 你可以。。。 确保文件相对于Jar文件放置,并使用相对路径。问题是,如果执行上下文与存储jar和文件的目录不同,您将无法再次找到它们 这还取决于您的构建过程,以确保将所有必需的文件放置在c中