記錄一次從零重拾 Java 基礎、在 Linux 環境下用 javac/java 命令行編譯運行 FTP 下載工具的完整過程,涵蓋代碼結構、關鍵配置、編譯運行踩坑指南。
getStream(remoteFile):獲取遠程文件輸入流writeStream(input, localFile):將輸入流寫入本地文件isExist(remotePath):檢查遠程文件是否存在# 1. 下載 commons-net.jar 並解壓
# 2. 設置 classpath 編譯
export FTPPATH="/path/to/commons-net.jar"
javac -classpath $CLASSPATH:$FTPPATH FtpClient.java
# 3. 運行時同樣指定 classpath
java -classpath $CLASSPATH:$FTPPATH FtpClient
建議:不要將所有 jar 一股腦加入 CLASSPATH,按需引用環境變量,如同 import 按需導包。
writeStream 逐字節讀寫效率極低,生產環境建議用 byte[] buffer = new byte[8192] 批量讀寫isExist 邏輯有缺陷(listNames 返回文件名而非全路徑),需改用 listFiles 或 mlistDir結合斷點續傳、壓縮傳輸、並發下載、進度回調等功能,可構建生產級文件傳輸組件。