首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException异常) 解决办法(转)

2012-08-14 
tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法(转)像这

tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法(转)

像这个例子? URL="http://10.0.2.2:8080/AndroidServer/Music/陈奕迅 - 浮夸.mp3 "这样的URL就无法通过,所以在“陈奕迅 - 浮夸.mp3”加上URL之前要经过一些处理。
???????? 一般情况下,URL参数为文字和空格都会出现乱码,需经过编码后才能执行通过。
???????? 下面介绍解决方法:
???????? 1.修改tomcat里面的/conf/server.xml文件 找到<Connector port="8080" 节点。在里面
??????????? 加入URIEncoding="UTF-8" 属性编码? 默认编码为"ISO-8859-1"一般情况下是不支持文字参数。
??????????? 修改后如下:
??????????? <Connector port="8080" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443"
?????????????? URIEncoding="UTF-8"/>

??????? 2.参数处理,URL="http://10.0.2.2:8080/AndroidServer/Music/陈奕迅 - 浮夸.mp3 "
??????????? 在参数?? 陈奕迅 - 浮夸.mp3?? 加入URL之前先进行处理,先对其进行编码
??????????? 例如:String mm="陈奕迅 - 浮夸.mp3";?????????
???????????????????? String ss=URLEncoder.encode(mm, "UTF-8");?? //这里是讲String编码成UTF-8
????????????????????? System.out.println("ss="+ss);????
???????? //输出结果??? ss=%E9%99%88%E5%A5%95%E8%BF%85%+-+E6%B5%AE%E5%A4%B8.mp3
???????? //其中空格被编码成? +?? ;这样编码后空格编码还是有问题,需在处理,下面继续
????????????????????? ss=ss.replaceAll("\\+","%20");? //因为 +? 符号在java是关键字符需要转义,不能直接用
????????????????????????????????????????????????????????????????????? // %20? 为空格的编码,这里替换掉,URL才不会报错
????????????????????? URL="http://10.0.2.2:8080/AndroidServer/Music/"+ss
????????????????????? 这样URL的文字? 空格参数问题就解决了。??
????????????????????? 其实总的就两句话,修改tomcat配置,参数传之前先处理。

转自:http://www.eoeandroid.com/thread-115195-1-1.html

?

热点排行