gpt4 book ai didi

java - 在 Java 中使用资源文件

转载 作者:行者123 更新时间:2023-11-29 08:03:12 25 4
gpt4 key购买 nike

我刚开始使用“Java 资源文件”,我有几个问题...

  1. 我希望将我的程序分发给其他人,我认为 JAR 文件不是最好的方式。我可能会通过“转换为 exe”来解决这个问题,这是一个好习惯吗?有什么限制?
  2. 如果我转换为 exe,它会保留资源文件吗?
  3. 我实际上只是想使用资源文件。该文件是一个文本文件,只会保存某些文件的用户目录,这样他们就不需要在每次打开程序时都设置它们。这是解决问题的最佳方法吗?
  4. 如何在代码本身中引用资源文件?

这是我所做的。创建了一个新的资源文件,因为我使用的是 Netbeans,所以我可以在导航器的文件选项卡下看到它的位置,它看起来像这样:

  • 主要项目
    1. build
    2. 类(class)
    3. 我的类(class)
    4. 资源
      • directories.txt

这是我尝试访问它的方式,但是当我调试时它返回 null。

private void getPaths()//todo
{

try
{
InputStream is = getClass().getResourceAsStream("/resources/directories.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
br.close();
isr.close();
is.close();
}
catch(Exception e)
{

}
}

最佳答案

“转换为 EXE”只是“将 Jar 文件包装到可执行容器”的一种奇特的说法

“我假设 JAR 文件不是最好的方式” 不是。有时提供操作系统特定的方法来启动程序很好,但这并不总是最好的解决方案。

“限制是什么?”。好吧,首先,您将自己限制在一个平台上。对于 Mac,您需要将应用程序捆绑到“应用程序”包中。对于 Linux,我认为大多数人都提供脚本来启动他们的代码。

您也可以将自己限制在特定的位深度。如果您提供的只是一个 x32 位可执行文件,那么您将只能在 x32 位环境中运行。这可能不是问题,但您正在限制可用内存以开始......

所以是的,一般来说,您的资源文件是安全的。

资源文件一般是嵌入的。您在第 3 部分中描述的内容更类似于配置文件。此文件需要存储在文件系统中(在您的 exe/jar 之外),以便轻松更新。

“你如何在代码本身中引用资源文件?”

对于嵌入式资源,您需要先使用 getClass().getResource(...)。对于您的配置文件,我会说就像任何其他文件一样...

我也想看看 Deployment关于部署 Java 程序的建议机制的一些想法,

关于java - 在 Java 中使用资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13114852/

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