异常:java.lang.IllegalArgumentException: URI scheme is not “file”?的解决方案

来源:互联网 发布:淘宝店铺手机登陆 编辑:程序博客网 时间:2024/04/30 08:07

奋斗异常:java.lang.IllegalArgumentException: URI scheme is not “file”?

        这个异常是由这两句代码引起的。

       URL url = QueryParser.class.getResource(Querys.QUERY_FILE_PATH);

       InputStream in = new FileInputStream(new File(url.toURI()));  

     可以理解为对于使用getgetResource方法获得文件url,两种服务器对url的前缀做出了不同的处理

       url的前缀模式不止一种,比如file//http://。对于new File(url.toURI())这条语句,url的前缀必须是file//

    所以对于语句new File(new URI("file:///etc/passwd"))能运行,而对于语句

new File(new URl("http://localhost/etc/passwd"))则不能运行。因此,我们不能始终认为url的前缀是file//

对于new File(url.toURI())的运用也要特别注意。如果使用InputStream is = url.openStream();就不会出现异常。

 

原创粉丝点击