gpt4 book ai didi

java - 在java中获取文件路径

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:46 25 4
gpt4 key购买 nike

java程序有没有办法确定它在文件系统中的位置?

最佳答案

您可以使用 CodeSource#getLocation()为了这。 CodeSource可通过 ProtectionDomain#getCodeSource() 获得. ProtectionDomain反过来可以通过 Class#getProtectionDomain() 获得.

URL location = getClass().getProtectionDomain().getCodeSource().getLocation();
File file = new File(location.getPath());
// ...

这将返回有问题的 Class 的确切位置。

更新:根据评论,它显然已经在类路径中了。然后你可以只使用 ClassLoader#getResource()其中你传递根包相对路径。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL resource = classLoader.getResource("filename.ext");
File file = new File(resource.getPath());
// ...

您甚至可以使用 ClassLoader#getResourceAsStream() 将其作为 InputStream 获取.

InputStream input = classLoader.getResourceAsStream("filename.ext");
// ...

这也是打包资源的正常使用方式。如果它位于包内,则使用例如 com/example/filename.ext 代替。

关于java - 在java中获取文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2914375/

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