我刚开始使用“Java资源文件”,我有几个问题......
这就是我所做的。 创建了一个新的资源文件,因为我正在使用Netbeans,我可以在导航器的files选项卡下看到它的位置,如下所示:
这是我试图访问它的方式,但是当我调试它时会返回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)
{
}
}
答案 0 :(得分:5)
“转换为EXE”只是说“将Jar文件包装到可执行容器中”的一种奇特方式
“我假设JAR文件不是最好的方式”不是真的。很高兴提供一种特定于操作系统的方法来启动程序,但它并不总是最好的解决方案。
“有什么限制?”。好吧,首先,你将自己限制在一个平台上。对于Mac,您需要将应用程序捆绑到“app”包中。对于linux,我认为大多数人都提供脚本来启动他们的代码。
您也可以将自己限制在特定的位深度。如果您提供的只是x32位可执行文件,那么您将只能在x32位环境中运行。这可能不是问题,但是你要限制可用内存......
所以,通常,您的资源文件是安全的。
通常嵌入资源文件。您在第3部分中描述的内容更类似于配置文件。此文件需要存储在文件系统上(exe / jar的外侧),以便轻松更新。
“你如何在代码本身中引用资源文件?”
对于嵌入式资源,您需要先使用getClass().getResource(...)
开始。对于你的配置文件,我会说就像任何其他文件一样......
我还要看看Deployment关于部署Java程序的建议机制的一些想法,
答案 1 :(得分:0)
Jar是一种完美的分发格式。您可以转换为exe,但用户仍然需要安装JVM才能运行它。如果安装了JVM并且jar具有正确形成的清单文件,则使用双击执行jar。
您可以打开JVM,文本,二进制文件,XML,属性文件等中的任何文件。
要保存用户设置,一个不错的选择是属性文件 - 请参阅http://www.mkyong.com/java/java-properties-file-examples/