首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java(安卓) IOException:预期索引7的权威: http://

Java(安卓) IOException:预期索引7的权威: http://
EN

Stack Overflow用户
提问于 2011-08-15 14:55:43
回答 1查看 4.4K关注 0票数 1

我正在尝试使这个功能从互联网下载文件。我向它传递两个参数:从- url到网络上的文件,到-本地文件路径;打开流时抛出IOException的问题:

代码语言:javascript
复制
Authority expected at index 7: http://

这是我的代码:

代码语言:javascript
复制
private boolean downloadFile(String pathFrom, String pathTo)
{
    URL url;
    ReadableByteChannel rbc;
    FileOutputStream fos;

    try {
        url = new URL(pathFrom);
        rbc = Channels.newChannel(url.openStream());
        fos = new FileOutputStream(pathTo);
        fos.getChannel().transferFrom(rbc, 0, 1 << 24);
        return true;
    } catch (MalformedURLException e) {
        Log.e(TAG, "Failed to download file (" + pathFrom + ") because of malformed URL.");
    } catch (FileNotFoundException e) {
        Log.e(TAG, "Failed to download file (" + pathFrom + ") because FileNotFoundException occured when opening output stream: " + e.getMessage());
    } catch (IOException e) {
        Log.e(TAG, "Failed to download file (" + pathFrom + ") because IOException occured when transfering file or opening input stream: " + e.getMessage());
    }

    return false;
}

正如您所看到的,它还打印文件的url,而且它很好。您可以将其粘贴到浏览器中,然后它将打开文件。

有人知道是什么原因和/或如何修复它吗?

我有两种使用权限- INTERNETWRITE_EXTERNAL_STORAGE

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-15 15:16:05

尝试使用URLEncoderUTF-8格式对您的url进行编码。

样本代码:

代码语言:javascript
复制
String encodedUrl = URLEncoder.encode(url.toString(), "UTF-8"); 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7066460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档