首页 > 技术文章 > org.apache.commons.net.ftp.FTPClient文件上传和压缩相关api记录。 下载压缩包和word文档response记录

dengsheng 2019-11-11 17:04 原文

 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");

 

推荐阅读