最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何實(shí)現(xiàn)文件壓縮與上傳FTP

 更新時(shí)間:2022年06月20日 10:27:37   作者:luoyuan323  
這篇文章主要介紹了Java如何實(shí)現(xiàn)文件壓縮與上傳FTP,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java文件壓縮與上傳FTP

文件壓縮

1.pom文件引入相關(guān)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);
? ? }
}

Ftp下載與上傳文件

/**
?* @Description:
?* @author: luoy
?* @date: 2020-06-24 09:18
?*/
public class FtpUtil {
? ? private static ?void ?ftp() throws Exception{
? ? ? ? //匿名登錄(無(wú)需帳號(hào)密碼的FTP服務(wù)器)
? ? ? ? Ftp ftp = new Ftp("172.0.0.1");
? ? ? ?//進(jìn)入遠(yuǎn)程目錄
? ? ? ? ftp.cd("/opt/upload");
? ? ? ?//上傳本地文件
? ? ? ? ftp.upload("/opt/upload", FileUtil.file("e:/test.jpg"));
? ? ? ? //下載遠(yuǎn)程文件
? ? ? ? ftp.download("/opt/upload", "test.jpg", FileUtil.file("e:/test2.jpg"));
? ? ? ? ?//關(guān)閉連接
? ? ? ? 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 遠(yuǎn)程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服務(wù)器
			ftpClient.connect(host, port);
			// 登陸FTP服務(wù)器
			ftpClient.login(userName, password);
			// 編碼
			ftpClient.setControlEncoding("UTF-8");
			// 設(shè)置文件類型為二進(jìn)制(如果從FTP下載或上傳的文件是壓縮文件的時(shí)候,不進(jìn)行該設(shè)置可能會(huì)導(dǎo)致獲取的壓縮文件解壓失敗)
			ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
			ftpClient.changeWorkingDirectory("/");
			ftpClient.enterLocalPassiveMode();
			if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
				System.out.println("連接FTP失敗,用戶名或密碼錯(cuò)誤。");
				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失敗,請(qǐng)檢查FTP相關(guān)信息是否正確!" + 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;
	}
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring6當(dāng)中獲取Bean的四種方式小結(jié)

    Spring6當(dāng)中獲取Bean的四種方式小結(jié)

    Spring 為Bean 的獲取提供了多種方式,通常包括4種方式,(也就是說(shuō)在Spring中為Bean對(duì)象的創(chuàng)建準(zhǔn)備了多種方案,目的是:更加靈活),本文將通過(guò)代碼示例詳細(xì)的給大家介紹了一下這四種方式,需要的朋友可以參考下
    2024-04-04
  • Java中空指針異常的幾種解決方案

    Java中空指針異常的幾種解決方案

    這篇文章主要介紹了Java中空指針異常的幾種解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • RestTemplate實(shí)現(xiàn)多種底層HTTP客戶端類庫(kù)的切換用法

    RestTemplate實(shí)現(xiàn)多種底層HTTP客戶端類庫(kù)的切換用法

    這篇文章主要為大家詳細(xì)的講解了RestTemplate實(shí)現(xiàn)多種底層HTTP客戶端類庫(kù)的切換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步
    2022-03-03
  • Spring MVC 請(qǐng)求參數(shù)綁定實(shí)現(xiàn)方式

    Spring MVC 請(qǐng)求參數(shù)綁定實(shí)現(xiàn)方式

    Spring MVC 是一個(gè)用于構(gòu)建 Web 應(yīng)用程序的框架,它提供了一種方便的方式來(lái)處理 HTTP 請(qǐng)求和響應(yīng),Spring MVC 提供了多種方式來(lái)實(shí)現(xiàn)請(qǐng)求參數(shù)綁定,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-09-09
  • MyEclipse10安裝Log4E插件

    MyEclipse10安裝Log4E插件

    這篇文章主要介紹了MyEclipse10安裝Log4E插件的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Java抽象類和接口使用梳理

    Java抽象類和接口使用梳理

    對(duì)于面向?qū)ο缶幊虂?lái)說(shuō),抽象是它的一大特征之一,在?Java?中可以通過(guò)兩種形式來(lái)體現(xiàn)OOP的抽象:接口和抽象類,下面這篇文章主要給大家介紹了關(guān)于Java入門(mén)基礎(chǔ)之抽象類與接口的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • SpringBoot指標(biāo)監(jiān)控的實(shí)現(xiàn)

    SpringBoot指標(biāo)監(jiān)控的實(shí)現(xiàn)

    本文主要介紹了SpringBoot指標(biāo)監(jiān)控的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 常見(jiàn)的排序算法,一篇就夠了

    常見(jiàn)的排序算法,一篇就夠了

    這篇文章主要介紹了一些常用排序算法整理,插入排序算法、直接插入排序、希爾排序、選擇排序、冒泡排序等排序,需要的朋友可以參考下
    2021-07-07
  • 一篇文章掌握J(rèn)ava?Thread的類及其常見(jiàn)方法

    一篇文章掌握J(rèn)ava?Thread的類及其常見(jiàn)方法

    Thread類用于操作線程,是所以涉及到線程操作(如并發(fā))的基礎(chǔ)。本文將通過(guò)代碼對(duì)Thread類的功能作用及其常見(jiàn)方法進(jìn)行分析
    2022-03-03
  • Spring boot actuator端點(diǎn)啟用和暴露操作

    Spring boot actuator端點(diǎn)啟用和暴露操作

    這篇文章主要介紹了Spring boot actuator端點(diǎn)啟用和暴露操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論

卓尼县| 云霄县| 进贤县| 白水县| 黑水县| 楚雄市| 滨州市| 民和| 铜山县| 天柱县| 苍南县| 平陆县| 岗巴县| 怀安县| 云龙县| 邻水| 阳江市| 巫溪县| 施甸县| 那曲县| 灯塔市| 新竹市| 香格里拉县| 牡丹江市| 鱼台县| 天全县| 来凤县| 昌邑市| 娱乐| 栾城县| 南充市| 长乐市| 河池市| 来安县| 屏东市| 潮安县| 罗江县| 海城市| 老河口市| 彩票| 白城市|