FTPClient

Apache commons ftp API 的Spike

心已入冬 提交于 2020-03-01 05:54:12
由于公司给了我一个传FTP的任务,刚好可以学习一下,同时也进行了一些单元测试,spike了一把,哈哈。分享一下。 这里只对最简单常用的FtpClient的上传下载列表功能进行测试学习使用^-^ 创建一个maven工程 在工作根目录创建目录 工程path/res/log 工程path/res/ftphome 配置pom文件。 <dependencies> <dependency> <groupId>org.apache.ftpserver</groupId> <artifactId>ftpserver-core</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId

FTPClient上传 中文目录、中文文件名乱码问题

让人想犯罪 __ 提交于 2019-12-05 07:55:27
问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。 原因: FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。 解决方案: 将中文的目录或文件名转为iso-8859-1编码的字符。参考代码: String name="目录名或文件名"; name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。 实例: 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