gpt4 book ai didi

java - 项目包内文件的绝对路径

转载 作者:行者123 更新时间:2023-12-01 10:30:55 29 4
gpt4 key购买 nike

我使用以下代码在项目包内创建了一个文件:

File xmlFile = new File("src/com/company/project/xml/tags.xml");

我能够在从 Eclipse 运行时读取该文件。但是,创建 .jar 后,我无法读取该文件。所以我想在从项目包中读取文件时输入绝对路径。怎样才能做到呢?感谢帮助和建议。

最佳答案

在大多数情况下,IDE 在生成的 Jar 中不会包含任何 Java 文件。当您从其中运行/调试程序时,大多数 IDE 还会在类路径中包含 src 目录。

作为一般经验法则,切勿在任何路径中包含 src,一旦程序构建,src 将根本不存在。

相反,您需要根据您的需要使用 Class#getResourceClass#getResourceAsStream。您应该记住,您永远不应该将“嵌入”资源视为文件,因为在大多数情况下不会如此,它将是 zip 文件中的字节流。

类似...

URL xmlFile = getClass().getResource("/com/company/project/xml/tags.xml");

将返回对资源的URL引用。请记住,如果您需要 InputStream,则必须 Class#getResourceAsStream

如果您希望资源可写,那么您将需要找到一个不同的位置来存储它,因为嵌入式资源是只读的

关于java - 项目包内文件的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35099268/

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