基于Java的ftp傳輸文件方式有2種,一種是利用Runtime.getRuntime().exec()執行操作系統的ftp命令,達到ftp的目的,另一種是利用Apache commons-ftp工具包實現ftp的功能,不同的方法,可以達到相同的效果。這里簡單介紹下用Java Runtime調用執行ftp的例子。
下面是最近正巧做的利用Runtime執行操作系統的批處理腳本執行ftp文件傳輸功能的例子,程序生成腳本如下:
Windows腳本:








Unix腳本:









這里傳送的是文本文件,所以采用asc模式傳輸。然后Java Runtime執行命令 [Runtime.getRuntime().exec(cmd)] 如下:
Windows命令:

Unix命令:

以上如果都使用的是用戶當前工作目錄user.dir作為焦點目錄,則其實都可以省去(完整路徑)的定位??墒窃诜掌魃嫌脩魴嘞抻兴刂疲瑄ser.dir無法提供當前用戶寫入文件,所以只能麻煩一點另找目錄定位路徑。好了,其實也一樣。
這樣,ftp上傳功能就完成了,當然,這里的前提是這個腳本生成不能有誤。如果輸入的參數有錯誤,腳本執行過程中返回的錯誤Runtime是沒有捕獲的。所以,如果需要知道ftp過程中的每一步是否出錯,出的什么錯,最好使用Apache的commons-ftp包處理(使用FTPClient),網路上有很多相關的例子,可以找來看看。