问题描述
- JAVA如何访问带中文的文件链接,并且读取文件,保存到指定的位置下(非弹窗保存文件)
-
求助:
一个文件链接例如 http://192.168.0.12:8080/hr/uploads/12_15574/english_name.txt,我通过java自带的url访问,然后获取这个url的输入流,然后将它保存到指定目录下,是成功地。
现在,服务器上的文件已经访问路径是带中文的,例如http://192.168.0.12:8080/hr/uploads/12_15574/english_name.txt,我通过同样的方式来试下,就会报错java.io.FileNotFoundException。
下面给出我的部分代码,还请熟悉java的朋友们能给点帮助:
解决方案
估计是路径中中文乱码问题
解决方案二:
对中文文件名做一个urlencode编码
解决方案三:
楼上说的不错可以试试
解决方案四:
final_request.setCharacterEncoding("UTF-8");
StringBuilder buffer = new StringBuilder();
BufferedReader reader=null;
try{
reader = new BufferedReader(new InputStreamReader(final_request.getInputStream(),"UTF-8"));
String line=null;
while((line = reader.readLine())!=null){
buffer.append(line);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(null!=reader){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
buffer.toString()
解决方案五:
估计是路径中中文乱码问题
解决方案六:
如果带有中文最好能使用英文,要是必须用中文改编码方式
解决方案七:
读取文件的指定位置
解决方案八:
使用URLEncoder.encode(url, "utf-8");
解决方案九:
把你的URL的路径复制到浏览器的输入地址栏,看看能不能正常访问呢?