zoukankan      html  css  js  c++  java
  • java URI 与URL问题

    File类存在两个看起来很相似的方法toURI()和toURL(),这两个方法都是将文件转换成一个链接,可以网络访问。只是URI和URL的应用范围不同,URI来的更广。


    那么为什么要使用toURI()而不是toURL()呢?如果要将文件转换成一个URL的话,这样来得更简单。因为toURL()存在bug。

      在File转化成URI的时候,会将链接中的特殊字符如#或!等编码,而toURL()确不会。
      如将“C:Documents and Settingstest.xsl”进行转化
      toURI()得到的是:file:/C:/Documents and Settings/test.xsl
      toURL()得到的是:file:/C:/Documents and Settings/test.xsl

    也就是说toURI()将空格都转译成了 ,而toURL()什么都没管。sun也有人提到了这个bug(4273532,6179468)。
    虽说在浏览器中没有转译不会有问题,因为有的浏览器已经自动转译了。但很多程序或者组件对于这样的路径都会抛出异常,认为是有错误的,这个bug中就有实实在在的例子。
    所以要将File转换成URL的话,请使用file.toURI().toURL(),而不是file.toURL()

  • 相关阅读:
    SpringBoot整合RabbitMQ
    NIO
    eclipse配置maven
    IDEA常用快捷键
    IDEA如何快速查看类中的属性和方法?
    Java之IO流
    JS判断对象是否包含某个属性
    Jquery获取链接请求的参数
    JS中indexOf的用法
    JS驼峰与下划线互转
  • 原文地址:https://www.cnblogs.com/googlemeoften/p/4979116.html
Copyright © 2011-2022 走看看