您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java怎么實現文件壓縮與上傳FTP”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“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; /** * @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); } }
/** * @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(); } }
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; } }
關于“Java怎么實現文件壓縮與上傳FTP”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。