diff --git a/pom.xml b/pom.xml index 0220ad8..e2e6724 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fjy spring - V2.10 + V3.0 jar spring diff --git a/src/main/java/com/fjy/spring/controller/DownLoadController.java b/src/main/java/com/fjy/spring/controller/DownLoadController.java index 3076c39..76d468d 100644 --- a/src/main/java/com/fjy/spring/controller/DownLoadController.java +++ b/src/main/java/com/fjy/spring/controller/DownLoadController.java @@ -8,6 +8,7 @@ import com.fjy.spring.exception.UserException; import com.fjy.spring.properties.ServerProperties; import com.fjy.spring.service.FileService; import com.fjy.spring.service.LogService; +import com.fjy.spring.untils.FtpOperationUtil; import com.fjy.spring.untils.FtpUtils; import com.fjy.spring.untils.LogUtil; import lombok.extern.slf4j.Slf4j; @@ -115,7 +116,7 @@ public class DownLoadController { bos.write(buff, 0, bytesRead); } //记录下载日志 - addVisitLog("下载文件"+tbFile.getColrealname()+" "+tbFile.getColfilename()); + addVisitLog("下载文件" + tbFile.getColrealname() + " " + tbFile.getColfilename()); } catch (Exception e) { @@ -144,7 +145,6 @@ public class DownLoadController { @RequestMapping("/home/download/dodownloadftp") public String downloadFromFTP(@RequestParam Integer fileId, HttpServletRequest request, HttpServletResponse response) { - response.setContentType("text/html;charset=utf-8"); try { request.setCharacterEncoding("UTF-8"); @@ -157,31 +157,35 @@ public class DownLoadController { TbFile file = new TbFile(); file.setColfileid(fileId); TbFile tbFile = fileService.findFileById(file); - //TbFile tbFile = fileService.findFile(file); + System.out.println("【file】"+tbFile.toString()); - //System.out.println(tbFile.getColfilepath()); String ctxPath = tbFile.getColfilepath(); String downLoadPath = ctxPath; - //String downLoadPath = ctxPath + tbFile.getColfilename(); - //System.out.println(downLoadPath); - - // FtpUtils.downFtpFile(ctxPath,tbFile.getColfilename(),) - try { + FtpOperationUtil ftpUtil = new FtpOperationUtil(); + long fileLength = new File(downLoadPath).length(); response.setContentType("application/x-msdownload;"); response.setHeader("Content-disposition", "attachment; filename=" + new String(tbFile.getColfilename().getBytes("utf-8"), "ISO8859-1")); response.setHeader("Content-Length", String.valueOf(fileLength)); - bis = new BufferedInputStream(new FileInputStream(downLoadPath)); + + ftpUtil.connectServer("192.168.79.138", FTPClient.DEFAULT_PORT, "cms", "imis2", null); + List list = ftpUtil.getFileList("/"); + for (String str : list) { + System.out.println(str); + } + + InputStream inputStream = ftpUtil.downFile(new String(tbFile.getColfilename().getBytes("UTF-8"), "iso-8859-1")); + bis = new BufferedInputStream(inputStream); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } - //记录下载日志 - addVisitLog("下载文件"+tbFile.getColrealname()+" "+tbFile.getColfilename()); + // 记录下载日志 + // addVisitLog("下载文件" + tbFile.getColrealname() + " " + tbFile.getColfilename()); } catch (Exception e) { @@ -204,8 +208,8 @@ public class DownLoadController { } } } - return null; + return null; } /** @@ -266,7 +270,7 @@ public class DownLoadController { } //记录下载日志 - addVisitLog("下载压缩文件"+zipFile.getName()); + addVisitLog("下载压缩文件" + zipFile.getName()); } catch (Exception e) { e.printStackTrace(); @@ -369,7 +373,7 @@ public class DownLoadController { } }*/ - public void downloadConfigFile(HttpServletResponse response,@RequestParam("fileName")String fileName) { + public void downloadConfigFile(HttpServletResponse response, @RequestParam("fileName") String fileName) { response.setCharacterEncoding("UTF-8"); response.setContentType("multipart/form-data"); @@ -377,7 +381,7 @@ public class DownLoadController { FTPClient ftpClient = new FTPClient(); try { int reply; - ftpClient.connect("120.120.120.156",21); + ftpClient.connect("120.120.120.156", 21); ftpClient.login("user1", "user1"); reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { @@ -386,10 +390,10 @@ public class DownLoadController { } ftpClient.changeWorkingDirectory("/GOS_CAS/BACKUP/cas_config_backup");//转移到FTP服务器目录 FTPFile[] fs = ftpClient.listFiles(); - for(int i=0;i 0 ? true : false; + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + + /** + * 得到文件列表,listFiles返回包含目录和文件,它返回的是一个FTPFile数组 + * listNames():只包含目录的字符串数组 + * String[] fileNameArr = ftpClient.listNames(path); + * + * @param path:服务器上的文件目录:/DF4 + */ + public List getFileList(String path) throws IOException { + FTPFile[] ftpFiles = ftpClient.listFiles(path); + //通过FTPFileFilter遍历只获得文件 + /* FTPFile[] ftpFiles2= ftpClient.listFiles(path,new FTPFileFilter() { + @Override + public boolean accept(FTPFile ftpFile) { + return ftpFile.isFile(); + } + }); */ + List retList = new ArrayList(); + if (ftpFiles == null || ftpFiles.length == 0) { + return retList; + } + for (FTPFile ftpFile : ftpFiles) { + if (ftpFile.isFile()) { + retList.add(ftpFile.getName()); + } + } + return retList; + } + + /** + * 删除服务器上的文件 + * + * @param pathName + * @return + * @throws IOException + */ + public boolean deleteFile(String pathName) throws IOException { + return ftpClient.deleteFile(pathName); + } + + /** + * 上传文件到ftp服务器 + * 在进行上传和下载文件的时候,设置文件的类型最好是: + * ftpUtil.setFileType(FtpUtil.BINARY_FILE_TYPE) + * localFilePath:本地文件路径和名称 + * remoteFileName:服务器文件名称 + */ + public boolean uploadFile(String localFilePath, String remoteFileName) + throws IOException { + remoteFileName = new String(remoteFileName.getBytes("UTF-8"), "iso-8859-1"); + boolean flag = false; + InputStream iStream = null; + try { + iStream = new FileInputStream(localFilePath); + //我们可以使用BufferedInputStream进行封装 + //BufferedInputStream bis=new BufferedInputStream(iStream); + //flag = ftpClient.storeFile(remoteFileName, bis); + flag = ftpClient.storeFile(remoteFileName, iStream); + } catch (IOException e) { + flag = false; + return flag; + } finally { + if (iStream != null) { + iStream.close(); + } + } + return flag; + } + + /** + * 上传文件到ftp服务器,上传新的文件名称和原名称一样 + * + * @param fileName:文件名称 + * @return + * @throws IOException + */ + public boolean uploadFile(String fileName) throws IOException { + return uploadFile(fileName, fileName); + } + + /** + * 上传文件到ftp服务器 + * + * @param iStream 输入流 + * @param newName 新文件名称 + * @return + * @throws IOException + */ + public boolean uploadFile(InputStream iStream, String newName) + throws IOException { + boolean flag = false; + try { + flag = ftpClient.storeFile(newName, iStream); + } catch (IOException e) { + flag = false; + return flag; + } finally { + if (iStream != null) { + iStream.close(); + } + } + return flag; + } + + /** + * 从ftp服务器上下载文件到本地 + * + * @param remoteFileName:ftp服务器上文件名称 + * @param localFileName:本地文件名称 + * @return + * @throws IOException + */ + public boolean download(String remoteFileName, String localFileName) + throws IOException { + remoteFileName = new String(remoteFileName.getBytes("UTF-8"), "iso-8859-1"); + + boolean flag = false; + File outfile = new File(localFileName); + OutputStream oStream = null; + try { + oStream = new FileOutputStream(outfile); + //我们可以使用BufferedOutputStream进行封装 + //BufferedOutputStream bos=new BufferedOutputStream(oStream); + //flag = ftpClient.retrieveFile(remoteFileName, bos); + flag = ftpClient.retrieveFile(remoteFileName, oStream); + } catch (IOException e) { + flag = false; + return flag; + } finally { + oStream.close(); + } + return flag; + } + + /** + * 从ftp服务器上下载文件到本地 + * + * @param sourceFileName:服务器资源文件名称 + * @return InputStream 输入流 + * @throws IOException + */ + public InputStream downFile(String sourceFileName) throws IOException { + sourceFileName = sourceFileName; + return ftpClient.retrieveFileStream(sourceFileName); + } + + public static void main(String[] args) throws Exception { + //testUpload(); + //testDownload(); + FtpOperationUtil ftpUtil = new FtpOperationUtil(); + ftpUtil.connectServer("192.168.79.138", FTPClient.DEFAULT_PORT, "cms", "imis2", null); + //获得ftp服务器上目录名称为DF4下的所有文件名称 + List list = ftpUtil.getFileList("/"); + for (String str : list) { + System.out.println(str); + } + // 上传本地D盘文件aaa.txt到服务器,服务器上名称为bbb.txt + //ftpUtil.uploadFile("F:\\JAVA Workspace\\Temp\\upload\\ERP实验1:销售预测与SOP.doc", "ERP实验1:销售预测与SOP.doc"); + // 从服务器上下载文件bbb.txt到本地d盘名称为ccc.txt + //ftpUtil.download("ERP实验1:销售预测与SOP.doc", "F:\\JAVA Workspace\\Temp\\ERP实验1:销售预测与SOP.doc"); + + String name = "ERP实验1:销售预测与SOP.doc"; + InputStream inputStream = ftpUtil.downFile(new String(name.getBytes("UTF-8"), "iso-8859-1")); + + String destination = "F:\\JAVA Workspace\\Temp\\ERP实验1:销售预测与SOP.doc"; + int index; + byte[] bytes = new byte[1024]; + FileOutputStream downloadFile = new FileOutputStream(destination); + while ((index = inputStream.read(bytes)) != -1) { + downloadFile.write(bytes, 0, index); + downloadFile.flush(); + } + downloadFile.close(); + inputStream.close(); + + // 删除ftp服务器上文件:bbb.txt + //ftpUtil.deleteFile("bbb.txt"); + } + +} diff --git a/src/main/java/com/fjy/spring/untils/FtpUtils.java b/src/main/java/com/fjy/spring/untils/FtpUtils.java index 8c10a75..98dd099 100644 --- a/src/main/java/com/fjy/spring/untils/FtpUtils.java +++ b/src/main/java/com/fjy/spring/untils/FtpUtils.java @@ -5,6 +5,7 @@ import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; +import javax.servlet.http.HttpServletResponse; import java.io.*; /** @@ -12,8 +13,8 @@ import java.io.*; * @date 2018-05-06 11:35 */ public class FtpUtils { - private static final String FTP_URL = "176.122.138.235"; - // private static final String FTP_URL = "192.168.79.138"; + // private static final String FTP_URL = "176.122.138.235"; + private static final String FTP_URL = "192.168.79.138"; private static final int PORT = 21; private static final String USER_NAME = "cms"; private static final String PASSWORD = "imis2"; @@ -37,16 +38,13 @@ public class FtpUtils { * @throws IOException */ public static boolean upload(String directory, String srcFileName, String destName) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - destName = new String(destName.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + destName = new String(destName.getBytes("UTF-8"), "iso-8859-1"); - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); FileInputStream fis = null; boolean result = false; try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); File srcFile = new File(srcFileName); fis = new FileInputStream(srcFile); @@ -85,12 +83,9 @@ public class FtpUtils { * @param downloadName 下载后存储的文件名全路径 */ public static boolean download(String directory, String destFileName, String downloadName) throws IOException { - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); boolean result = false; try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.setBufferSize(1024); // 设置文件类型(二进制) @@ -119,11 +114,11 @@ public class FtpUtils { } /** - * @author xh 测试成功 可以下载中文文件 ftp默认的编码为gbk * @param remotePath * @param fileName * @param localPath * @return + * @author xh 测试成功 可以下载中文文件 ftp默认的编码为gbk */ public static boolean downFtpFile(String remotePath, String fileName, String localPath) { @@ -148,7 +143,7 @@ public class FtpUtils { for (FTPFile ff : fs) { String fname = new String(ff.getName().getBytes("iso-8859-1"), "UTF-8"); if (fname.equals(fileName)) { - File localFile = new File(localPath+fname); + File localFile = new File(localPath + fname); OutputStream is = new FileOutputStream(localFile); ftp.retrieveFile(ff.getName(), is); is.close(); @@ -171,15 +166,16 @@ public class FtpUtils { } /** - * @author xh 测试成功 可以下载中文文件 ftp默认的编码为gbk - * @param remotePath * @param fileName - * @param localPath * @return + * @author xh 测试成功 可以下载中文文件 ftp默认的编码为gbk */ - public static boolean downFtpFileByStream(String remotePath, String fileName, - String localPath) { + public static OutputStream downFtpFileByStream(String fileName) { + + String remotePath = "/www/ftp/cms/"; boolean success = false; + OutputStream is = null; + FTPClient ftp = new FTPClient(); try { int reply; @@ -190,7 +186,7 @@ public class FtpUtils { reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); - return success; + return null; } // 转移到FTP服务器目录 ftp.changeWorkingDirectory(remotePath); @@ -200,11 +196,10 @@ public class FtpUtils { for (FTPFile ff : fs) { String fname = new String(ff.getName().getBytes("iso-8859-1"), "UTF-8"); if (fname.equals(fileName)) { - File localFile = new File(localPath+fname); - OutputStream is = new FileOutputStream(localFile); + File localFile = new File(fname); + is = new FileOutputStream(localFile); ftp.retrieveFile(ff.getName(), is); - is.close(); - break; + return is; } } ftp.logout(); @@ -212,6 +207,12 @@ public class FtpUtils { } catch (IOException e) { e.printStackTrace(); } finally { + try { + assert is != null; + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } if (ftp.isConnected()) { try { ftp.disconnect(); @@ -219,7 +220,7 @@ public class FtpUtils { } } } - return success; + return null; } @@ -230,19 +231,16 @@ public class FtpUtils { * @throws IOException */ public static boolean rename(String directory, String oldFileName, String newFileName) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - oldFileName = new String(oldFileName.getBytes("UTF-8"),"iso-8859-1"); - newFileName = new String(newFileName.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + oldFileName = new String(oldFileName.getBytes("UTF-8"), "iso-8859-1"); + newFileName = new String(newFileName.getBytes("UTF-8"), "iso-8859-1"); /** * 判断远程文件是否重命名成功,如果成功返回true,否则返回false */ boolean result = false; - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.changeWorkingDirectory(directory); //重命名远程文件 result = ftpClient.rename(oldFileName, newFileName); @@ -267,18 +265,15 @@ public class FtpUtils { * @throws IOException */ public static boolean remove(String directory, String fileName) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - fileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1"); /** * 判断远程文件是否移除成功,如果成功返回true,否则返回false */ boolean result = false; - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.changeWorkingDirectory(directory); //删除远程文件 result = ftpClient.deleteFile(fileName); @@ -303,18 +298,15 @@ public class FtpUtils { * @throws IOException */ public static boolean makeDirecotory(String directory, String newDirectory) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - newDirectory = new String(newDirectory.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + newDirectory = new String(newDirectory.getBytes("UTF-8"), "iso-8859-1"); /** * 判断远程文件是否移除成功,如果成功返回true,否则返回false */ boolean result = false; - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.changeWorkingDirectory(directory); result = ftpClient.makeDirectory(newDirectory);//创建新目录 return result; @@ -339,17 +331,14 @@ public class FtpUtils { * @throws IOException */ public static boolean renameDirecotory(String directory, String oldDirectory, String newDirectory) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - oldDirectory = new String(oldDirectory.getBytes("UTF-8"),"iso-8859-1"); - newDirectory = new String(newDirectory.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + oldDirectory = new String(oldDirectory.getBytes("UTF-8"), "iso-8859-1"); + newDirectory = new String(newDirectory.getBytes("UTF-8"), "iso-8859-1"); // 判断远程文件是否移除成功,如果成功返回true,否则返回false boolean result = false; - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.changeWorkingDirectory(directory); // 重命名目录 result = ftpClient.rename(oldDirectory, newDirectory); @@ -374,18 +363,15 @@ public class FtpUtils { * @throws IOException */ public static boolean removeDirecotory(String directory, String deldirectory) throws IOException { - directory = new String(directory.getBytes("UTF-8"),"iso-8859-1"); - deldirectory = new String(deldirectory.getBytes("UTF-8"),"iso-8859-1"); + directory = new String(directory.getBytes("UTF-8"), "iso-8859-1"); + deldirectory = new String(deldirectory.getBytes("UTF-8"), "iso-8859-1"); /** * 判断远程文件是否移除成功,如果成功返回true,否则返回false */ boolean result = false; - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); ftpClient.changeWorkingDirectory(directory); result = ftpClient.removeDirectory(deldirectory);//删除目录 return result; @@ -408,17 +394,12 @@ public class FtpUtils { * @throws IOException */ public static String[] list(String directory) throws IOException { - FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = makeConnectionFactory(); try { - ftpClient.connect(FTP_URL, PORT); - ftpClient.login(USER_NAME, PASSWORD); - ftpClient.enterLocalPassiveMode(); - ftpClient.setControlEncoding(LOCAL_CHARSET); ftpClient.changeWorkingDirectory(directory); ftpClient.enterLocalPassiveMode(); //删除目录 - String[] list = ftpClient.listNames(); - return list; + return ftpClient.listNames(); } catch (NumberFormatException e) { throw e; } catch (IOException e) { @@ -431,4 +412,19 @@ public class FtpUtils { } } } + + /** + * 创建FTP连接的工厂方法 + * + * @return + * @throws IOException + */ + private static FTPClient makeConnectionFactory() throws IOException { + FTPClient ftpClient = new FTPClient(); + ftpClient.connect(FTP_URL, PORT); + ftpClient.login(USER_NAME, PASSWORD); + ftpClient.enterLocalPassiveMode(); + ftpClient.setControlEncoding(LOCAL_CHARSET); + return ftpClient; + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index e702b4a..b8ed17e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -8,6 +8,12 @@ server: serverproperties: port_num: 8080 filePath: F:\JAVA Workspace\Temp\ +ftp: + server: 192.168.79.138 + port: 21 + username: cms + password: imis2 + location: /home/ftp/cms/ spring: thymeleaf: prefix: classpath:/templates/ diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 6fc34e7..c982ab6 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -13,6 +13,12 @@ server: serverproperties: port_num: 8085 filePath: /www/cmsfile/ +ftp: + server: 176.122.138.235 + port: 21 + username: cms + password: imis2 + location: /www/ftp/cms/ spring: thymeleaf: prefix: classpath:/templates/ diff --git a/src/test/java/com/fjy/spring/untils/FtpOperationUtilTest.java b/src/test/java/com/fjy/spring/untils/FtpOperationUtilTest.java new file mode 100644 index 0000000..d93a822 --- /dev/null +++ b/src/test/java/com/fjy/spring/untils/FtpOperationUtilTest.java @@ -0,0 +1,76 @@ +package com.fjy.spring.untils; + +import org.junit.Test; + +import static org.junit.Assert.*; + +public class FtpOperationUtilTest { + + @Test + public void connectServer() { + } + + @Test + public void connectServer1() { + } + + @Test + public void setFileType() { + } + + @Test + public void closeServer() { + } + + @Test + public void changeDirectory() { + } + + @Test + public void createDirectory() { + } + + @Test + public void removeDirectory() { + } + + @Test + public void removeDirectory1() { + } + + @Test + public void existDirectory() { + } + + @Test + public void isExistsFile() { + } + + @Test + public void getFileList() { + } + + @Test + public void deleteFile() { + } + + @Test + public void uploadFile() { + } + + @Test + public void uploadFile1() { + } + + @Test + public void uploadFile2() { + } + + @Test + public void download() { + } + + @Test + public void downFile() { + } +} \ No newline at end of file diff --git a/src/test/java/com/fjy/spring/untils/FtpUtilsTest.java b/src/test/java/com/fjy/spring/untils/FtpUtilsTest.java index f4b7d23..a4dad87 100644 --- a/src/test/java/com/fjy/spring/untils/FtpUtilsTest.java +++ b/src/test/java/com/fjy/spring/untils/FtpUtilsTest.java @@ -6,7 +6,7 @@ import static org.junit.Assert.*; public class FtpUtilsTest { private static final String destName = "ERP实验1:销售预测与SOP.doc"; - private static final String directory = "/www/cmsftp/"; + private static final String directory = "/www/ftp/cms/"; @Test public void upload() throws Exception{ @@ -43,7 +43,7 @@ public class FtpUtilsTest { @Test public void remove() throws Exception{ - FtpUtils.remove(directory,destName); + FtpUtils.remove(directory,"新名称.doc"); list(); }