Java如何实现文件压缩与上传FTP

2022-11-13 10:11:30 上传 如何实现 文件压缩

Java文件压缩与上传FTP

文件压缩

1.pom文件引入相关jar

<dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.3.8</version>
        </dependency>

2.压缩文件

import cn.hutool.core.util.ZipUtil;
import java.io.File;

public class FileUtil {
    
    
    private static void  zipFile(String srcPath,String zipPath,String zipName){
        ZipUtil.zip(srcPath,zipPath+ File.separator+zipName);
    }
}

Ftp下载与上传文件


public class FtpUtil {
    private static  void  ftp() throws Exception{
        //匿名登录(无需帐号密码的FTP服务器)
        Ftp ftp = new Ftp("172.0.0.1");
       //进入远程目录
        ftp.cd("/opt/upload");
       //上传本地文件
        ftp.upload("/opt/upload", FileUtil.file("e:/test.jpg"));
        //下载远程文件
        ftp.download("/opt/upload", "test.jpg", FileUtil.file("e:/test2.jpg"));
         //关闭连接
        ftp.close();
    }
}

Java程序FTP上传文件

依赖架包 commons-net-3.4.jar

package ftpTest;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPUtil {
	
	public static boolean ftp(String host, int port, String userName,
			String passWord, String localFilePath, String ftpFilePath) {
		FTPClient ftpClient = null;
		try {
			ftpClient = new FTPClient();
			// 连接FTP服务器
			ftpClient.connect(host, port);
			// 登陆FTP服务器
			ftpClient.login(userName, password);
			// 编码
			ftpClient.setControlEncoding("UTF-8");
			// 设置文件类型为二进制(如果从FTP下载或上传的文件是压缩文件的时候,不进行该设置可能会导致获取的压缩文件解压失败)
			ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
			ftpClient.changeWorkingDirectory("/");
			ftpClient.enterLocalPassiveMode();
			if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
				System.out.println("连接FTP失败,用户名或密码错误。");
				ftpClient.disconnect();
			} else {
				System.out.println("FTP连接成功!");
				return ftpClient.storeFile(ftpFilePath, new FileInputStream(new File(localFilePath)));
			}
		} catch (Exception e) {
			e.printStackTrace();
			System.err.println("登陆FTP失败,请检查FTP相关信息是否正确!" + e);
		}
		
		
		
		return false;
	}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章