Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有父目录引用的getResource_Java_Relative Path_Getresource - Fatal编程技术网

Java 具有父目录引用的getResource

Java 具有父目录引用的getResource,java,relative-path,getresource,Java,Relative Path,Getresource,我有一个java应用程序,试图加载一个文本文件,该文件将包含在jar中 当我执行getClass().getResource(“/a/b/c/”)时,它能够为该路径创建URL,我可以打印出来,一切看起来都很好 但是,如果我尝试getClass().getResource(/a/b/。/”),那么我会得到一个nullURL 它似乎不喜欢路径中的。。有人看到我做错了什么吗?如果有帮助的话,我可以发布更多的代码。您在getResource()中指定的路径不是文件系统路径,不能像通过文件对象(及其类似对

我有一个java应用程序,试图加载一个文本文件,该文件将包含在jar中

当我执行
getClass().getResource(“/a/b/c/”)
时,它能够为该路径创建URL,我可以打印出来,一切看起来都很好

但是,如果我尝试
getClass().getResource(/a/b/。/”)
,那么我会得到一个
null
URL


它似乎不喜欢路径中的
。有人看到我做错了什么吗?如果有帮助的话,我可以发布更多的代码。

您在getResource()中指定的路径不是文件系统路径,不能像通过文件对象(及其类似对象)解析路径那样进行规范解析。我可以认为您正在尝试读取与另一路径相关的资源吗?

FilenameUtils类中的(共有四个)可以帮助您。它位于


是的,所以我从代码中的不同位置获取了部分路径,所以当我组合它们中的字符串“.”时,我不会试图突破使用getResource(“/”)获得的基本目录。我尝试读取的资源是相对于另一个路径的,但仍然在jar中,如果我手动从路径中删除“.”,我可以读取一些内容。也许这就是我必须要做的。这很有效。我使用normalize(name,true)方法保留unix样式的斜杠(/)在windows系统上。谢谢!@Trejkaz:谢谢你的编辑建议!不幸的是,它被其他人拒绝了,我不得不手动编辑它。为了补偿你失去的+2分,我检查了你的帖子并对其中一些帖子进行了投票。这个问题回答了我要搜索的问题。我有一个getResource(../icons/SomeIcon.png))从jar加载时返回null,但从文件系统加载时正确返回资源。在这两种情况下,Java都没有解析..,这很糟糕。
final String name =  "/a/b/../";
final String normalizedName = FilenameUtils.normalize(name, true); // "/a/"
getClass().getResource(normalizedName);