当前位置: 首页 > 面试题库 >

Java中的sysLoader.getResource()问题

秦涵涤
2023-03-14
问题内容

我有以下几行代码。

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

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

如何解决呢?

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

sysloader-> UCP->路径

正在使用字符%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());


 类似资料:
  • 问题内容: 我有下表: 我要插入数据,如下所示: 但是,当我检索数据时,它们类似于。 有什么问题,我该如何解决? 问题答案: 根据MySQL JDBC驱动程序文档,您还需要在JDBC连接URL中设置字符编码。这是一个例子: 否则,MySQL JDBC驱动程序将使用平台默认编码在通过网络发送之前将字符转换为字节,在您的情况下显然不是UTF-8。然后,所有未发现的字符将被问号替换。 另外,在检索数据时

  • 问题内容: 我正在使用org.apache.commons.net.ftp.FTPClient,看到的行为令人困惑。 下面的方法打算浏览一个FTPFile列表,读入它们,然后对内容进行一些处理。都可以了 (真正)不起作用的是FTPClient对象执行以下操作… 有没有人看到这样的东西?我是FTPClient的新手,我在做错什么吗? 问题答案: 根据该API ,该方法返回时,它无法打开数据连接,在这

  • 这是我的方法: 这是我的测试主测试: db对象工作,打开连接工作,我的find all records方法工作,然后我的deleteOneRecord崩溃。我收到以下错误: 线程“main”中的异常com.mysql.jdbc.exceptions.jdbc4. MySQLSyntaErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以在第1行的“作者”附

  • 问题内容: 如何迭代ResultSet?我尝试使用以下代码,但出现错误java.sql.SQLException:对空结果集的非法操作。 更新:我发现了问题。我仅使用了SQL单例中的一条语句。语句关闭后,将无法再次使用。 问题答案: 按照JDBC教程: 将ResultSet#next()光标向前一行从当前位置,并返回移动true如果新的当前行是有效的。因此,while当没有更多行时,循环将自动停止

  • 我有一些关于在 Java 中播放声音的问题,希望你能帮助我。 1. 如何使用“停止”按钮停止播放声音? 2. 如何减慢声音(或冷却时间)? 3.我想创建一个选项框架,我可以在其中调节音量并具有静音选项,我该怎么做? 这是我的代码: 任何帮助都将不胜感激,并祝你有美好的一天!

  • 有一个要求,如果用户输入一个数字,解析它,并。如果用户输入一个数字和字符串的混合物,那么 因此,我编写了如下代码: 函数如下所示 但是,有一个问题。 当用户进入1923年-- 我想实现的东西有什么内在的(更好的)功能吗?我的代码可以修改以适应需要吗?