try {
String ftpHost = kmConfig.getFtpHost()
int port = kmConfig.getFtpPort()
String userName = kmConfig.getFtpUser()
String passWord = kmConfig.getFtpPassword()
String path = kmConfig.getFtpPath()
FtpClient ftpClient = new FtpClient(ftpHost, port)// ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。
ftpClient.login(userName, passWord)// userName、passWord分别为FTP服务器的登陆用户名和密码
ftpClient.binary()
ftpClient.cd(path)// path为FTP服务器上保存上传文件的路径。
try {
TelnetInputStream in = ftpClient.get(fileName)
byte[] bytes = new byte[1024]
int cnt=0
while ((cnt=in.read(bytes,0,bytes.length)) != -1) {
outputStream.write(bytes, 0, cnt)
}
//##############################################
//这里文件就已经下载完了,自己理解一下
//#############################################
outputStream.close()
in.close()
} catch (Exception e) {
ftpClient.closeServer()
e.printStackTrace()
}
ftpClient.closeServer()
} catch (Exception e) {
System.out.println("下载文件失败!请检查系统FTP设置,并确认FTP服务启动")
}
}
String directory = "."目测 /home/httpd/test/ 是*nix的路径,而你用的是Windows,一来,没有这个目录,二来SFTP服务器分配的目录应该也不是这个,所以改".",即当前目录试试,如果不行就留空,或者改"/"
这个要做定时任务的,ftp不可能主动给你发,只能自己每隔多长时间就去检索一次,应该把ftp文件目录结构和文件名称全部存入数据库,在下载时候对文件的标识状态位进行更新,方便于对文件的判断。然后从ftp下载文件即可。如果需要连接ftp下载文件的代码,可以发送邮件到JavaWebDevelop@hotmial.com欢迎分享,转载请注明来源:内存溢出
评论列表(0条)