gpt4 book ai didi

java - java中路径名前导反斜杠

转载 作者:行者123 更新时间:2023-12-02 08:13:50 24 4
gpt4 key购买 nike

因此,我正在尝试编写一个常规 Java 应用程序,该应用程序从编译时由 ANT 更新的文件中读取当前版本。当使用 OpenJDK 或 SunJDK 在我的开发机器(Ubuntu 11.04 上的 Eclipse 3.5.2)上运行时,它会抛出 FileNotFoundException。添加或删除前导反斜杠似乎没有效果。

关于如何解决这个问题有什么想法吗?我相信错误出在这一行:

in = new FileInputStream("data/build_info.properties");

代码-更新

转换为 Java 属性

String revision = "";

Properties defaultProps = new Properties();
FileInputStream in;
try {
in = new FileInputStream("data/build_info.properties");
defaultProps.load(in);
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

revision = "Version: " + defaultProps.getProperty("build.major.number") + "." +
defaultProps.getProperty("build.minor.number") + " " +
"Revision: " + defaultProps.getProperty("build.revision.number");

ANT Jar 脚本

<target name="jar">
<antcall target="clean" />
<antcall target="compile" />

<jar destfile="${dir.dist}/${name.jar}" basedir="." includes="${dir.lib}/*" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="emp.main.EmpowerView" />
</manifest>
<fileset dir="${dir.build}" includes="**/*" excludes="META-INF/*.SF" />
<fileset dir="." includes="${dir.media}/*" />
<fileset dir="." includes="${dir.data}/*" />
</jar>
<chmod file="${dir.dist}/${name.jar}" perm="+x" />

</target>

最佳答案

如果您尝试加载 Jar 内的文件,则需要使用 java.lang.Class.getResourceAsStream()加载文件。您无法使用 java.util.File 指向 Jar 中的文件。有关如何使用它的示例,请参阅此答案:

https://stackoverflow.com/questions/4548791

关于java - java中路径名前导反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833539/

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