使用 URI 遇到的坑

URL 与 URI 的区别

URI

URI是特定资源的标识符(统一资源标识符)。比如一辆特定的车、一本书或一个网站。

URL

URL(统一资源定位符)是一个标识符,它还告诉您如何访问它。例如https、ftp等,比如位于特定地址的特定汽车。

所有的url都是uri,但不是所有的uri都是url。
细说他们的区别还挺复杂的, 可以参考 这个链接

遇到的坑

Java 中的 java.io.File的构造方法又好几种, 其中有这样两种 File(String) 和 File(URI), 其中第一种,你给一个url, 或者一个文件的路径, 都可以生成File对象,但是这个对象不一定是存在的, 这时候使用 File 的 exists(),isDirectory() 和 isFile() 方法得到的都会是false.

String uriString = "xxxxxxxxxxx";
File file = new File(uriString);

可以创建成功,但是文件可能是不存在的。

改进办法:

String uriString = "xxxxxxxxxxx";
URI uri = new URI(uriString); 
File file = new File(uri);

这样就没问题了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值