准备条件:java实现ftp上传用到了commons-net-3.3.jar包
首先建立ftphost连接
public boolean connect(String path, String addr, int port, String username, String password) {try {
//FTPClient ftp = new FTPHTTPClient(addr, port, username, password)
ftp = new FTPClient()
int reply
ftp.connect(addr)
System.out.println("连接到:" + addr + ":" + port)
System.out.print(ftp.getReplyString())
reply = ftp.getReplyCode()
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect()
System.err.println("FTP目标服务器积极拒绝.")
System.exit(1)
return false
}else{
ftp.login(username, password)
ftp.enterLocalPassiveMode()
ftp.setFileType(FTPClient.BINARY_FILE_TYPE)
ftp.changeWorkingDirectory(path)
System.out.println("已连接:" + addr + ":" + port)
return true
}
} catch (Exception ex) {
ex.printStackTrace()
System.out.println(ex.getMessage())
return false
}
}
然后再利用ftpclient的makeDirectory方法创建文件夹
public void createDir(String dirname){try{
ftp.makeDirectory(dirname)
System.out.println("在目标服务器上成功建立了文件夹: " + dirname)
}catch(Exception ex){
System.out.println(ex.getMessage())
}
}
断开host连接
public void disconnect(){try {
ftp.disconnect()
} catch (IOException e) {
e.printStackTrace()
}
}
最后是程序的调用方法
public static void main(String[] args) {FtpUploadTest ftpupload = new FtpUploadTest()
if(ftpupload.connect("", "172.39.8.x", 20, "administrator", "abc@123")){
ftpupload.createDir("/UPLOAD")
ftpupload.disconnect()
}
}
这样是不能删除文件的,因为ftp文件权限会限制java代码的执行,如果你想实现这样的功能,可以在ftp服务器上面执行java代码,路径指定服务器的路径,不要使用ftp或者http之类的协议,然后给java权限或者设置文件权限为777,这样就可以执行了。