最近在项目中用到了ftp存储文件,遇到了一个坑就是当上传的模板是中文名的时候,将该模板下载下来的时候,文件的大小是0 kb,上传以英文命名的模板然后下载下来的文件是没有问题的, 通过调试代码发现是ftp下载的问题,最终定位到原因是下载的时候文件编码格式写反了导致的问题,正确的代码如下
static String LOCAL_CHARSET = "utf-8";
static String SERVER_CHARSET = "ISO-8859-1";
ftp.retrieveFile(new String(remoteFile.getBytes(LOCAL_CHARSET),SERVER_CHARSET), os);