gpt4 book ai didi

java - 最佳实践 : where to place user i/o files for a JAR package

转载 作者:行者123 更新时间:2023-12-01 09:15:06 26 4
gpt4 key购买 nike

我正在开发一个工具,它将由用户接收 XML 文件。该工具将执行一些操作并创建一个新的 XML 文件,然后用户可以使用该文件做任何他们想做的事情。

我想将我的 jar 放在用户的 XML 文件 (input.xml) 旁边的文件夹 (XMLTOOL) 中。层次结构如下:

XMLTOOL
|__tool.jar
|__input.xml

在运行时,我希望访问文件 input.xml(或用户放入此文件夹中的任何其他 XML 文件(例如通过命令行参数:java tool newInput.xml)

目前我正在使用:

ClassName.class.getResource(inFile);

其中ClassName是我的类(class)的名称。然而,只有当 input.xml 与 Eclipse 中的源文件位于同一包中时,这才有效。

那么在 Java 项目中构建资源文件的标准约定是什么,请记住,从 JAR 存档运行时应该可以访问这些资源。

最佳答案

在本地文件系统中寻址文件的最简单方法是通过 java.io.File API:

String path=...
File file=new File(path);

// To read the file:
InputStream input=new FileInputStream(file);

// To write to the file:
OutputStream output=new FileOutputStream(file);

path 可以是绝对路径,也可以是相对于当前目录的相对路径。

更新

从 Eclipse 执行应用程序时,当前工作目录是启动的一个参数:您可以在运行配置arguments选项卡中设置它 窗口。默认情况下,它是项目的目录,但您可以设置自己的自定义目录。

关于java - 最佳实践 : where to place user i/o files for a JAR package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40610511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com