(android文件下载)下载链接中包含特殊字符--空格,中文等,导致无法识别处理方案

今天在app测试时出现标题所示错误,导致无法正常重server端下载文件;

通过查看日志,了解到是由于下载链接中出现空格、中文等特殊字符,导致连接地址不合法;

在网上也查看了很多描述相关问题解决方案的帖子,很有启发--

但是考虑到方便自己和大家,还是把问题和解决方案贴出来


app这部分功能如下:服务端有各种类型文件(如:文本,图片,html文件等等)提供下载

最终文件下载链接地址,形如:http://127.0.0.1:8001/dir/文件名

其中文件名没法控制,可能出现特殊字符,导致地址不合法


下面直接贴出解决方案:

//fileDir为文件目录
String filedir = URLEncoder.encode(fileDir,"UTF-8").replace("+", "%20");
urlPath = url+filedir;
通过对文件目录特殊字符转换,在拼接到服务器地址,成功解决!


参考文章:java路径问题




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Windows操作系统,由于中文文件路径的特殊性,有些软件可能无法正常安装或使用,为了避免这种情况,可以将Android Studio安装到英文路径下。具体步骤如下: 1. 打开控制面板,在“时钟和区域”选择“区域”。 2. 在“格式”选项卡,将“格式”设置为“英语(美国)”,并点击“其他设置”按钮。 3. 在“区域选项”窗口,将“系统区域”和“程序区域”都设置为“英语(美国)”。 4. 确认所有设置,重新启动计算机。 5. 下载并安装Android Studio时,选择一个英文路径,例如:“C:\AndroidStudio”。 这样就可以避免因中文路径导致的安装或使用问题。 ### 回答2: 在Android Studio下载时,如果你的C盘为中文名,可能会遇到一些问题。Android Studio默认安装到C盘,而C盘的中文名可能包含特殊字符空格,这可能导致安装程序无法正确识别路径或找到所需文件。为了解决这个问题,你可以尝试以下几种方法: 1. 临时更改C盘名:将C盘的中文名更改为英文或删除特殊字符。这样,在安装Android Studio时就可以使用默认的C盘路径了。 2. 自定义安装路径:在安装Android Studio时选择自定义安装路径,将Android Studio安装到一个不包含中文名或特殊字符的路径。例如,可以将其安装到D盘、E盘等其他盘符下。 3. 创建目录链接:如果你不想更改C盘的名称或选择其他安装路径,你可以尝试创建一个目录链接。首先,在C盘下创建一个英文名的目录,然后使用命令提示符或其他工具创建一个指向该目录的目录链接。安装程序将能够正确识别路径,并将文件保存在指定的目录。 总之,解决Android Studio下载时C盘为中文名的问题可以使用临时更改C盘名、自定义安装路径或创建目录链接等方法来应对。选择合适的方法可以确保顺利安装Android Studio并使用它进行开发。 ### 回答3: 在下载Android Studio时,如果C盘的名称是中文名,可能会导致一些问题。首先,中文名可能包含特殊字符空格,这可能会导致下载路径出现错误。为了避免这种情况,我们可以尝试将C盘的名称改为一个简单的英文名称,不包含特殊字符空格。 其次,如果C盘的中文无法更改或我们不想更改它,我们可以尝试使用文件路径缩写来解决问题。例如,假设C盘的中文名是"用户",我们可以尝试使用缩写"C:\Users"来代替完整路径。在下载Android Studio时,我们可以选择将其安装到C盘以外的其他目录,这样可以避免路径名称的任何可能的问题。 另外,我们还可以尝试使用第三方下载工具来下载Android Studio。这些工具可能会提供更多的选项和功能来处理复杂的文件路径名称。通过使用这些工具,我们可以更轻松地管理和下载Android Studio,而不受C盘名称的限制。 总之,在下载Android Studio时,如果C盘的名称是中文名,我们可以尝试修改C盘名称为英文名称,使用文件路径缩写或使用第三方下载工具来解决可能出现的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值