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

网友投稿 562 2022-07-22


目录java文件压缩与上传FTP文件压缩Ftp下载与上传文件Java程序FTP上传文件依赖架包 commons-net-3.4.jar

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(ftpFilhttp://ePath, 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;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java使用MessageFormat应注意的问题
下一篇:Java集成presto查询方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~