【Java】解决FTPClient上传中文目录出现中文名乱码问题
来源:互联网 发布:假面骑士exaid知乎 编辑:程序博客网 时间:2024/06/04 08:02
Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
问题描述:
使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。
原因:
FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。
解决方案:
1.将中文的目录或文件名转为iso-8859-1编码的字符。参考代码:
复制代码 代码如下:
2.设置linux环境变量
复制代码 代码如下:
实例:
复制代码 代码如下:
问题描述:
使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。
原因:
FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。
解决方案:
1.将中文的目录或文件名转为iso-8859-1编码的字符。参考代码:
复制代码 代码如下:
String name="目录名或文件名"; name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
2.设置linux环境变量
复制代码 代码如下:
export LC_ALL="zh_CN.GBK"export LANG="zh_CN.GBK"
实例:
复制代码 代码如下:
public boolean upLoadFile(File file, String path, String fileName) throws IOException { boolean result = false; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(confService.getConfValue(PortalConfContants.FTP_CLIENT_HOST)); ftpClient.login(confService.getConfValue(PortalConfContants.FTP_CLIENT_USERNAME), confService .getConfValue(PortalConfContants.FTP_CLIENT_PASSWORD)); ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // make directory if (path != null && !"".equals(path.trim())) { String[] pathes = path.split("/"); for (String onepath : pathes) { if (onepath == null || "".equals(onepath.trim())) { continue; } onepath=new String(onepath.getBytes("GBK"),"iso-8859-1"); if (!ftpClient.changeWorkingDirectory(onepath)) { ftpClient.makeDirectory(onepath); ftpClient.changeWorkingDirectory(onepath); } } } result = ftpClient.storeFile(new String(fileName.getBytes("GBK"),"iso-8859-1"), new FileInputStream(file)); } catch (Exception e) { e.printStackTrace(); } finally { ftpClient.logout(); } return result; }
阅读全文
0 0
- 【Java】解决FTPClient上传中文目录出现中文名乱码问题
- FTPClient上传 中文目录、中文文件名乱码问题
- ftpClient解决中文乱码问题(apache)
- PHP中完美解决fckeditor上传中文文件与新建中文目录出现乱码的问题
- Java处理文件上传时文件的中文名出现乱码问题
- 解决jsp中用户名是中文名的中文乱码问题
- 解决,文件上传到 ftp 服务器,中文出现乱码问题
- 关于FCKeditor for java上传图片中文名乱码问题
- Java模拟表单文件上传(微信/中文名乱码问题)
- java mail 解决附件中文名乱码问题
- 上传图片中文名乱码的解决
- java上传文件到ftp-解决中文乱码的问题
- Struts2上传文件带中文名时.图片显示会出现%乱码解决
- java-FTPClient-ftp 上传文件、创建目录(支持中文目录、文件名)
- 下载文件中文名出现乱码 java
- 上传文件 是中文名时 出现乱码,或不能上传
- java-上传文件-出现中文乱码。
- 解决上传文件中文乱码问题
- Spring乱码,forceEncodeing=true
- Python网络编程-远程更新STM32APP程序
- request.setattribute怎么在jsp取值
- iOS中的KVC和KVO的理解
- 天文学中常用的坐标系
- 【Java】解决FTPClient上传中文目录出现中文名乱码问题
- 释放Windows为硬件保留内存,双系统安装释放法。
- VS2013/MFC编程:(对话框:为控件添加消息处理函数)
- hive的row_number()、rank()和dense_rank()的区别以及具体使用
- struts2学习之---国际化
- JekinsReport
- go2shell install
- hashset中hashcode和equals方法
- [bigdata] 基于docker 打开hadoop