gpt4 book ai didi

java - java中的sysLoader.getResource()问题

转载 作者:IT老高 更新时间:2023-10-28 21:08:12 24 4
gpt4 key购买 nike

我有以下几行代码。

sysLoader = (URLClassLoader)Thread.currentThread().getContextClassLoader();
url = sysLoader.getResource("tempFile.txt");

这是一个奇怪的问题。如果我从路径(文件夹名称)中没有空格的路径运行它,那么它运行正常。但如果路径包含任何空格(行“c:\New Foler...”),则它不起作用。

如何解决?

编辑:更详细 - 我检查了 sysloader 对象。

sysloader -> UCP -> path

路径中的字符为 %20 而不是空格

因此所有的 URL 都是空的。

如何解决?

最佳答案

Sun/Oracle 知道这一点,他们的建议是使用 URI 对象来删除 %20 个字符:

不要这样做:

FileInputStream fis = new FileInputStream(url.getFile());

您可以通过首先将 URL 转换为 URI,然后使用 URI 的路径组件作为文件名来强制解码任何 % 转义字符:

URI uri = new URI(url.toString());
FileInputStream fis = new FileInputStream(uri.getPath());

关于java - java中的sysLoader.getResource()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263560/

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