Java怎么实现文件压缩与上传FTP
作者:RiverSoul
时间:2023-04-25
来源:互联网
浏览:0
Java文件压缩与上传FTP文件压缩1.pom文件引入相关jarcommons-netcommons-net3.6cn.hutoolhutool-all5.3.82.压缩文件importcn.hutool.core.util.ZipUtil;importjava.io.File;/***@Description:*@author:luoy*@date:2020-06-2409:18*/publicclassFileUtil{/***@desc:*@author:luoy*@paramsrcPath:被压缩
Java文件压缩与上传FTP
文件压缩
1.pom文件引入相关jar
commons-net commons-net 3.6 cn.hutool hutool-all 5.3.8
2.压缩文件
import cn.hutool.core.util.ZipUtil;
import java.io.File;
/**
* @Description:
* @author: luoy
* @date: 2020-06-24 09:18
*/
public class FileUtil {
/**
* @desc:
* @author: luoy
* @param srcPath : 被压缩文件的源路径
* @param zipPath : 压缩后文件的路径
* @param zipName : 压缩后文件的名字
* @date: 2020/6/24 9:22
*/
private static void zipFile(String srcPath,String zipPath,String zipName){
ZipUtil.zip(srcPath,zipPath+ File.separator+zipName);
}
}Ftp下载与上传文件
/**
* @Description:
* @author: luoy
* @date: 2020-06-24 09:18
*/
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;
/**
* ftp 上传工具类
*
* @author yulisao
* @createDate 2020年3月19日
*/
public class FTPUtil {
/**
* 上传文件ftp
*
* @param host ftp地址
* @param port ftp端口
* @param userName ftp用户名
* @param password ftp密码
* @param localFilePath 带上传本地文件路径
* @param ftpFilePath 远程ftp上的存放路径
*/
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);
}
/*OutputStream os = null;
FileInputStream fis = null;
try {
// 获取ftp上的文件
os = ftpClient.storeFileStream(ftpFilePath);
fis = new FileInputStream(new File(localFilePath));
if (os != null) {
System.out.println("os" + os.toString());
}
if (fis != null) {
System.out.println("fis" + fis.toString());
}
int length;
byte[] bytes = new byte[1024];
while ((length = fis.read(bytes)) != -1) {
os.write(bytes, 0, length);
}
System.out.println("FTP文件上传成功!");
} catch (Exception e) {
System.err.println("FTP文件上传失败!" + e);
} finally {
try {
if (fis != null) {
fis.close();
}
if (os != null) {
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}*/
return false;
}
}
作者最新文章
微软推出Project Zenith:面向Windows 11开发者的AI硬件加速方案
2026-09-08 18:15
打破流量垄断,让平台经济释放普惠红利
2026-09-08 18:07
Arm AGI CPU详解:136核Neoverse V3,3nm双芯粒架构与AI数据中心部署
2026-09-08 17:18
Windows安装Docker教程:启用WSL2并运行第一个容器验证
2026-09-04 09:26
PDF转Word操作指南:在线与本地转换方法及格式检查
2026-09-03 16:03
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















