java - ClassLoader 的 getResource() 在路径中有单引号时返回 null

标签 java

我正在尝试获取 src/main/resources 中 SQL 文件的资源。

我已经成功地得到了我的文件:

String sqlFileName = "query.sql";
URL url = MyClass.class.getClassLoader().getResource(sqlFileName);

但如果像这样在 sqlFileName 中有单引号则不行

String sqlFileName = "John's query.sql";
URL url = MyClass.class.getClassLoader().getResource(sqlFileName);

getResource 返回 null,因为当有撇号时它找不到我的资源。我尝试了几种方法来转义我的单引号,例如\' 和 '',但都没有用。

我希望通过 getResource 获得类似于此的 url:

C:\Projects\ProjectA\src\main\resources\queries\John's query.sql

最佳答案

你试过用\\' 转义它吗?

使用一个\',您可以为字符串创建一个转义的 ',但不会传递给 URL 解析器。您想要转义\本身,以便 ' 和\都传递给解析器。

关于java - ClassLoader 的 getResource() 在路径中有单引号时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33546805/

相关文章:

java - 如何让字体变大几秒后变小?

Java - 通用类型

java - 在我的 HTC Evo 上使用 Eclipse 进行 Android 调试 : Augh!

带有 JAXB 类包装器的 Java Unmarshal 对象列表

java - 字数统计异常

java - 如何对字符串流中的每个字符串进行排序?

java - 将范围与 HttpSessionListener 连接

java - 如何在 Codename one 设计器中为组件设置尺寸(宽度和高度)?

java - 只能从 Realm 复制有效的托管对象

java 8更改列表以使用列表实例进行映射