Java:从文件路径获取 URI

标签 java url uri filepath

我对 Java 知之甚少。我需要在 Windows 上从 FilePath(String) 构建 URI 的字符串表示形式。有时,我得到的 inputFilePath 是:file:/C:/a.txt,有时是:C:/a.txt。现在,我正在做的是:

new File(inputFilePath).toURI().toURL().toExternalForm()

以上对于没有file:/前缀的路径工作正常,但是对于以file:/为前缀的路径,.toURI 方法通过附加当前目录的值将其转换为无效的 URI,因此路径变得无效。

请通过建议一种正确的方法来帮助我为这两种路径获取正确的 URI。

最佳答案

这些是有效的文件 uri:

file:/C:/a.txt            <- On Windows
file:///C:/a.txt          <- On Windows
file:///home/user/a.txt   <- On Linux

因此您需要删除 Windows 的 file:/file:/// 和 Linux 的 file://

关于Java:从文件路径获取 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323760/

相关文章:

ruby - 如何安全地加入相对 url 段?

java - 字体在 Java 6 下显示不正确

javax.命名.AuthenticationException : [LDAP: error code 49 - Invalid Credentials]

python - Django 模板反向 URL 解析不起作用

javascript - 在 onclick url 中使用数据绑定(bind)

java - 如何从 jsp 请求对象中获取基本 url?

uri - 在 dropwizard 中为 REST web 服务配置 URI 前缀

uri - JSON-LD,有没有办法为 @type 的 @id 或属性的值指定默认 URI?

java - setObject 和 null 的安全性

Java 1.5 使用线条和角度绘制形状的问题