導航:首頁 > 編程語言 > javaftp批量

javaftp批量

發布時間:2025-08-16 18:18:08

『壹』 用java實現ftp側壓縮文件的解壓

我們在開發項目的時候,特別是B/S系統,經常會遇到要批量上傳文件的需求,對此需求一般有如下幾個解決方案(以B/S為例):1. 在客戶端提供文件上傳介面,一次上傳一個文件2. 一次上傳多個文件3. 將需要上傳的文件打包,一次上傳到伺服器,並自動解凳脊慶壓到指定目錄1,2方法都有幾個很明顯的不足,用戶工作量大,文件如果過大,在網路環境野局中,上傳的效率低下,另外文件在不同的目錄,是無法進行一次選擇上傳的.所以打包上傳就成為了比較流行的批量文件上傳的解決方案,下面就來一起討論一下在java中如何實現: 主要功能需求: a. 上傳文件,將文件保存在伺服器 b. 讀取伺服器上壓縮文件,解壓到指定目錄 下面就這兩個需求說說編碼實現上傳: 使用了smartupload開源程序 參考鏈棗握接: http://hi..com/liuzy84/blog/item/556318f4fad1cc6fddc4741a.html

『貳』 java 實現ftp上傳如何創建文件夾

准備條件:java實現ftp上傳用到了commons-net-3.3.jar包

首先建立ftphost連接

publicbooleanconnect(Stringpath,Stringaddr,intport,Stringusername,Stringpassword){
try{
//FTPClientftp=newFTPHTTPClient(addr,port,username,password);
ftp=newFTPClient();
intreply;
ftp.connect(addr);
System.out.println("連接到:"+addr+":"+port);
System.out.print(ftp.getReplyString());
reply=ftp.getReplyCode();

if(!FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
System.err.println("FTP目標伺服器積極拒絕.");
System.exit(1);
returnfalse;
}else{
ftp.login(username,password);
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory(path);
System.out.println("已連接:"+addr+":"+port);
returntrue;
}
}catch(Exceptionex){
ex.printStackTrace();
System.out.println(ex.getMessage());
returnfalse;
}
}

然後再利用ftpclient的makeDirectory方法創建文件夾

	publicvoidcreateDir(Stringdirname){
try{
ftp.makeDirectory(dirname);
System.out.println("在目標伺服器上成功建立了文件夾:"+dirname);
}catch(Exceptionex){
System.out.println(ex.getMessage());
}
}

斷開host連接

	publicvoiddisconnect(){
try{
ftp.disconnect();
}catch(IOExceptione){
e.printStackTrace();
}
}

最後是程序的調用方法

	publicstaticvoidmain(String[]args){
FtpUploadTestftpupload=newFtpUploadTest();
if(ftpupload.connect("","172.39.8.x",20,"administrator","abc@123")){
ftpupload.createDir("/UPLOAD");
ftpupload.disconnect();
}
}

『叄』 java使用FTP下載文件,下載失敗,中文亂碼問題

Java使用FTP下載文件時遇到下載失敗和中文亂碼問題的解決方法如下

  1. FTP工作目錄更改後下載文件路徑設置

    • 將FTP客戶端的工作目錄切換至指定的目錄,使用ftpClient.changeWorkingDirectory;。
    • 在此之後,下載文件時僅需提供文件名,而無需完整的路徑。
  2. 文件下載失敗,文件名亂碼問題

    • 原因:FTP服務端與客戶端的編碼格式不一致。如果服務端使用GBK編碼,而客戶端默認使用其他編碼,則會導致文件名亂碼。
    • 解決方法:調整FTP客戶端的編碼格式為GBK。但需注意,直接設置編碼格式可能在某些情況下導致其他問題。
    • 更穩妥的解決方法:取消FTP客戶端編碼格式的設置,在獲取文件名時進行轉碼處理。即,在循環內部邏輯中,將獲取到的文件名從FTP服務端的編碼格式轉換為客戶端能正確識別的格式。
  3. 下載文件失敗,文件大小為零,顯示格式損壞問題

    • 排查步驟
      • 確認FTP服務端用戶具有足夠的許可權訪問和下載文件。
      • 確認可以ping通FTP伺服器的地址,網路連接正常。
      • 檢查文件是否設置為只讀屬性,如果是,則取消只讀屬性。
    • 定位問題:中文亂碼導致FTP客戶端讀取文件路徑或文件名錯誤,從而無法正確下載文件。
    • 解決方法:在下載文件前,確保文件名和路徑正確無誤,且已進行必要的轉碼處理。同時,確認文件在FTP服務端是完整且未損壞的。

通過上述步驟,可以成功解決Java使用FTP下載文件時遇到的下載失敗和中文亂碼問題,確保文件能夠正確下載並保存至本地文件夾。

『肆』 java如何實現將FTP文件轉移到另一個FTP伺服器上

你有FTPClient就比較好辦,假如你的兩台FTP伺服器分別為fs1和fs2

在本地開發代碼思路如下:

  1. 通過FTPClient連接上fs1,然後下載(可以循環批量下載)到本地伺服器,保存到一個臨時目錄。

  2. 下載完成後,FTPClient斷開與fs1的連接,記得必須logout。

  3. 本地伺服器通過FileInputStream將剛下載到臨時目錄的文件讀進來,得到一個List<File>集合。

  4. 通過FTPClient連接上fs2,循環List<File>集合,將文件上傳至fs2的特定目錄,然後清空臨時目錄,上傳完畢後,斷開fs2的連接,同樣必須logout。

閱讀全文

與javaftp批量相關的資料

熱點內容
芝麻街APP怎麼下載 瀏覽:509
ipad第8代的app如何橫屏模式 瀏覽:762
單片機煤礦環境檢測系統 瀏覽:455
原版命令方塊模組 瀏覽:728
原神的文件在哪個文件夾 瀏覽:326
小米手機怎麼恢復最初安裝的app 瀏覽:64
java中把int轉換成string 瀏覽:805
比亞迪app怎麼移除鑰匙 瀏覽:352
騰武雲伺服器 瀏覽:198
如何清除手機文件夾的圖片 瀏覽:392
看著真解壓的英文翻譯 瀏覽:931
如何徹底刪蘋果app 瀏覽:764
ubuntu可以租雲伺服器嗎 瀏覽:301
加密的便簽在哪兒看 瀏覽:785
神童3d概率計演算法 瀏覽:921
javaftp批量 瀏覽:800
酒田戰法78式源碼 瀏覽:339
菜鳥橙運app如何綁定車輛 瀏覽:1
晴天神奇寶貝伺服器地址 瀏覽:55
如何使用簡約文件夾 瀏覽:974