gpt4 book ai didi

java - 尝试读取 jar 中的文件时出错

转载 作者:行者123 更新时间:2023-12-01 23:52:33 24 4
gpt4 key购买 nike

我正在尝试读取 xsd 文件来验证架构。

我的架构位于位置x/y/z/test.xsd

我的类读取此文件也在 x/y/z/ReadSchema.java

两者都包装在我的 jar 里。

我正在尝试在 ReadSchema.java 中读取此文件,如下所示,其中名称为 test.xsd 但 url 返回为 null?

我在这里做错了什么吗?

  private static URL getURLForName(String name) 
{
ClassLoader cl = Thread.currentThread().getContextClassLoader();

URL url = cl.getResource(name);
return url;
}

最佳答案

您使用的名称有误。请记住:

getClass().getResource();

采用与类相关的名称,而

getClass().getClassLoader().getResource();

采用绝对路径。

编辑:为什么我称其为绝对路径

所以,如果你的文件位于 yourjar.jar!x/y/z.txt 并且你的类是 x.y.Klass

那么你可以选择:

getClass().getResource("z.txt");

或者你可以这样做:

getClass().getClassLoader().getResource("/x/y/z.txt");

关于java - 尝试读取 jar 中的文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142155/

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