java 实现文件压缩后上床ftp服务器
2021/7/19 17:08:46
本文主要是介绍java 实现文件压缩后上床ftp服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipMultiFile { public static void main(String[] args) throws FileNotFoundException { File[] srcFiles = {new File("C:/Users/Lenovo/Desktop/1.jpg"), new File("C:/Users/Lenovo/Desktop/123.pdf")}; File zipFile = new File("C:/Users/Lenovo/Desktop/ZipFile.zip"); // 调用压缩方法 zipFiles(srcFiles, zipFile); } /** * 压缩文件 * @param srcFiles * @param zipFile */ public static void zipFiles(File[] srcFiles, File zipFile) { FileOutputStream fileOutputStream = null; ZipOutputStream zipOutputStream = null; FileInputStream fileInputStream = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { fileOutputStream = new FileOutputStream(zipFile); zipOutputStream = new ZipOutputStream(baos); for (int i = 0; i < srcFiles.length; i++) { fileInputStream = new FileInputStream(srcFiles[i]); ZipEntry zipEntry = new ZipEntry(srcFiles[i].getName()); zipOutputStream.putNextEntry(zipEntry); int len; byte[] buffer = new byte[1024]; while ((len = fileInputStream.read(buffer)) > 0) { zipOutputStream.write(buffer, 0, len); } } zipOutputStream.flush(); zipOutputStream.closeEntry(); zipOutputStream.close(); fileInputStream.close(); fileOutputStream.close(); ByteArrayInputStream swapStream = new ByteArrayInputStream(baos.toByteArray()); InputStream inputStream = swapStream; FTPClient ftpClient = new FTPClient(); connectionFTP(ftpClient, inputStream, "test"); } catch (IOException e) { e.printStackTrace(); } } /** * connection FTP * @param ftpClient * @param zip * @param name * @return */ public static boolean connectionFTP(FTPClient ftpClient, InputStream zip, String name) { boolean isUpload = false; try { ftpClient.connect("192.168.1.1"); ftpClient.login("root", "root"); //获取服务器返回的状态码 int reply = ftpClient.getReplyCode(); System.out.println(reply); //如果reply返回230就算成功了,如果返回530密码用户名错误或当前用户无权限下面有详细的解释。 if (!FTPReply.isPositiveCompletion(reply)) { ftpClient.disconnect(); return false; } //设置文件上传类型 ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); isUpload = ftpClient.storeFile(name + ".zip", zip); } catch (Exception e) { e.printStackTrace(); } return isUpload; } }
这篇关于java 实现文件压缩后上床ftp服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南