【问题标题】:java.net.URISyntaxException: Illegal character in scheme at index 0 [duplicate]java.net.URISyntaxException:索引 0 处的方案中存在非法字符 [重复]
【发布时间】:2013-06-20 22:52:51
【问题描述】:

我正在开发一个从 java 服务器接收图像 url、加载图像然后显示它的 android 应用程序

收到服务器响应后,我收到此错误

   java.net.URISyntaxException: Illegal character in scheme at index 0:  http://farm1.static.flickr.com/131/371306796_7e18d505fb_b.jpg

那么如何解决这个问题呢?

【问题讨论】:

    标签: java android uri


    【解决方案1】:

    如您所见,此网址中有一个空格:

    http://farm1.static.flickr.com/131/371306796_7e18d505fb_b.jpg

    那么如何解决这个问题呢?

    删除空格可能会修复它。

    【讨论】:

    • 用 trim() 方法可能吗?因为我不能手动删除它我会试试这个
    • @nawara trim() 在这种情况下很可能会起作用,但这就是我所说的being a doctor who tries to cure the symptoms。如果您有更多时间,请尝试修复原因(解析器?服务器发送带有空格的 url?)。
    【解决方案2】:

    java.net.URI 类可以提供帮助;在您找到的 URL 文档中

    请注意,URI 类在某些情况下会执行其组件字段的转义。管理 URL 编码和解码的推荐方法是使用 URI

    使用具有多个参数的构造函数之一,例如:

    URI uri = new URI(
        "http", 
        "http://farm1.static.flickr.com", 
        "/131/371306796_7e18d505fb_b.jpgf",
        null);
    URL url = uri.toURL();
    

    URI 的单参数构造函数不会转义非法字符

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      相关资源
      最近更新 更多