java FTP下载

Python015

java FTP下载,第1张

检查一下是否timeout时间设置过短。不要设置内存或者处理器限制。 还有在IIS的metabase数据库中找一下FTP的设置,在那里找配置文件修改最直接。

通过CFtpFileFind 得到文件的URL之后,然后通过CHttpFile::QueryInfo 得到文件大小。

求采纳为满意回答。

这个要做定时任务的,ftp不可能主动给你发,只能自己每隔多长时间就去检索一次,应该把ftp文件目录结构和文件名称全部存入数据库,在下载时候对文件的标识状态位进行更新,方便于对文件的判断。然后从ftp下载文件即可。如果需要连接ftp下载文件的代码,可以发送邮件到[email protected]

public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){

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服务启动")

}

}