日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Commons net实现 FTP上传下载

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Commons net实现 FTP上传下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近項目中需要到Ftp文件上傳,選擇了Commons net。Commons net包中的ftp工具類能夠幫助我們輕松實現Ftp方式的文件上傳/下載。其中最重要的一個類就是FTPClient類,這個提供了許多FTP操作相關的

方法,比如鏈接,登錄,上傳,下載,和注銷。

FTP 操作的過程一般為連接服務器,登錄,進行文件上傳/下載,文件(目錄)的添加刪除修改等操作。平常用的比較多的是文件的上傳和下載。

下面是一些基本的上傳操作(將Commons net的jar包引入即可使用):

public class FtpUtil {public static void main(String[] args) {FTPClient ftpClient = new FTPClient();try {//連接指定服務器,默認端口為21ftpClient.connect("127.0.0.1");System.out.println("connect to server");//獲取響應字符串(FTP服務器上可設置)String replyString = ftpClient.getReplyString();System.out.println("replyString: " + replyString);//獲取響應碼用于驗證是否連接成功int reply = ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {System.out.println("");System.exit(1);}//設置鏈接編碼,windows主機UTF-8會亂碼,需要使用GBK或gb2312編碼ftpClient.setControlEncoding("GBK");//登錄服務器boolean login = ftpClient.login("luojing", "luojing");if (login) {System.out.println("登錄成功!");} else {System.out.println("登錄失敗!");}//獲取所有文件和文件夾的名字FTPFile[] files = ftpClient.listFiles();for(FTPFile file : files){if(file.isDirectory()){System.out.println(file.getName() + " 是文件夾");}if(file.isFile()){System.out.println(file.getName() + " 是文件");}}//生成InputStream用于上傳本地文件InputStream in = new FileInputStream("e:\\1.txt");//上傳文件ftpClient.storeFile("dest.txt",in);in.close();//注銷登錄boolean logout = ftpClient.logout();if (logout) {System.out.println("注銷成功!");} else {System.out.println("注銷失敗!");}} catch (Exception e) {e.printStackTrace();} finally {//關閉鏈接需要放在finally語句塊中if (ftpClient.isConnected()) {try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();}}}}}

此外,FTPClient類中也提供了一些文件/文件夾操作的方法。通過commos net提供的方法,可以方便的實現斷點傳輸等功能。我還可以同個retrieveFileStream方法來獲取遠程服務器中指定文件的一個輸入流來供我們手動的進行讀操作,也可以使用appendFileStream方法來獲取要上傳到遠程服務器中文件對應的輸出流對象,然后我們就可以手動的從本地文件中讀取數據然后寫入到遠程服務中,比如我們想知道上傳的進度。總的來說,Commons net提供的方法還是非常好使,非常方便的。一些其他的功能就需要在使用的時候去看API手冊了。

可能是環境影響,發現到了公司之后學習效率比在學校高了很多額,繼續加油!

轉載于:https://www.cnblogs.com/jdluojing/archive/2012/07/23/3212412.html

總結

以上是生活随笔為你收集整理的Commons net实现 FTP上传下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。