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()的时候程序出现“卡死”的现象。