1 org.apache.commons.net.ftp.FTPClient包 api记录 2 3 //将文件上传到ftp服务器 4 storeFile(String remote, InputStream local); 5 // 从ftp文件服务器下载到本地 6 retrieveFile(String remote, OutputStream local); 7 8 // 切换到上一级目录 9 changeToParentDirectory(); 10 11 // 切换目录 12 //测试中发现 如果ftp服务器部署在windows上是可以传入全路径切换目录 13 //部署在ubuntu上的话只能切换到下一级目录 14 changeWorkingDirectory(String pathname); 15 16 // 查看文件夹下的文件 17 listFiles(); 返回类型为 FTPFile[] 18 19 // 判断是否为文件 20 isFile(); 21 22 java.io.File包 api记录 23 24 // 判断是否为文件 25 isFile(); 26 // 判断是否为文件夹 27 isDirectory(); 28 // 获取下一级目录的文件 29 listFile(); 返回类型File[] 30 // 判断文件、文件夹是否存在 31 exists(); 存在返回true 不存在返回false 32 // 创建文件夹 33 mkdirs(); 34 35 // 删除文件、文件夹 如果是删除文件夹的话 需要文件夹里为空否则删除不成功 36 delete(); 删除成功返回true 删除失败返回false 37 ###### 文件操作切记 流打开之后使用完毕就需要关闭 否则会持有资源 delete() 操作返回false。 38 39 40 41 java.util.zip包 api记录 42 43 java util包实现压缩文件需要使用压缩输出流 ZipOutputStream 44 45 // zos.putNextEntry 开始添加压缩文件 ZipEntry传入的参数 zipName 46 // 如果包含了层级关系就会在压缩包中生成对应的文件夹 47 zos.putNextEntry(new ZipEntry(zipName)); 48 49 // zos.closeEntry() 结束当前压缩文件的添加 50 zos.closeEntry(); 51 52 ##### 有多个文件需要压缩的时候 每一个文件都需要调用 putNextEntry() 和 closeEntry() 之后再压缩新的文件。 53 54 ###### 文件流操作切记 先打开的流后关闭。 输出流记得 flush() 55 56 #########牢记 对于 null 的处理。 57 58 59 60 String path = request.getContextPath(); 61 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path 62 63 64 65 // 下载压缩包的response 66 response.setContentType("application/octet-stream"); 67 response.setHeader("Content-Disposition", "attachment;filename=" + file.getName()); 68 69 // 下载word 文档的response 70 response.setContentType("application/vnd.ms-word;charset=utf-8"); 71 response.setHeader("Content-Disposition", "attachment;filename=" + file_name + ".doc");
org.apache.commons.net.ftp.FTPClient文件上传和压缩相关api记录。 下载压缩包和word文档response记录