FTPClient 要實現上傳和下載,需要jakarta-oro-2.0.8.jar,commons-net-1.4.1.jar這兩個jar包。
public boolean uploadFile(String filename,InputStream input){
boolean success = false;
FTPClient client = new FTPClient();
try {
client.connect("ip地址", 端口號);
client.login("用戶名", "密碼");
int reply = client.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
client.disconnect();
return success;
}
client.enterLocalPassiveMode();
//client.changeWorkingDirectory(pathname);
FTPFile[] files = client.listFiles();
System.out.println(files.length);
client.storeFile(filename, input);
input.close();
client.logout();
success = true;
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if (client.isConnected()) {
try {
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return success;
}
我們在client.listFiles()之前加上這句client.enterLocalPassiveMode();防止執行listFiles()的時候程序出現“卡死”的現象。