معلومات المنتج:
/**
*
* دعم جافا FTP
* هذا هو السبب.
*
*/
ftpDownload () باطلة خاصة
{
FTPClient ftpClient = null;
InputStream input = null;
علامة تسجيل الدخول المنطقية = خطأ؛
List<String> list = new ArrayList<String>();
يحاول
{
int defaultPort = CommonsMessage.FTP_DEFAULT_PORT; // 21
int timeout = M400Constant.NUM_SIXTY_THOUSAND * M400Constant.NUM_TWO؛ // 120000
ftpClient = new FTPClient();
ftpClient.setDefaultPort(defaultPort);
ftpClient.setConnectTimeout(timeout);
// ftpClient.setSoTimeout(timeout);
ftpClient.setDefaultTimeout(timeout);
ftpClient.setDataTimeout(timeout);
ftpClient.setControlEncoding(UTF-8);
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
conf.setServerLanguageCode(en);
conf.setDefaultDateFormatStr(MMM dd HH:mm);
ftpClient.configure(conf);
ftpClient.connect(SystemConfig.getKey(scpFtpIp));
تسجيل الدخولFlag = ftpClient.login(SystemConfig.getKey(scpFtpUserName).trim(),
SystemConfig.getKey(scpFtpPassword).trim());
String ftpDir = SystemConfig.getKey(ftpHangupDir).trim();
إذا (!loginFlag)
{
DEBUGGER.debug(تسجيل الدخول scp ftp هو: + loginFlag);
}
// String ftpDir = SystemConfig.getKey(ftpHangupDir).trim();
إذا (ftpClient.changeWorkingDirectory(ftpDir))
{
FTPFile file[] = ftpClient.listFiles(ftpDir);
إذا (ملف != فارغ && file.length > 0)
{
DEBUGGER.debug(حجم الملف المعلق هو: + file.length);
لـ (int i = 0; i < file.length; i++)
{
String fileName = file[i].getName();
ftpClient.setBufferSize(CommonsMessage.ONE_K_BUFFER_SIZE);
// 置文件类型(الاسم الأصلي)
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
input = ftpClient.retrieveFileStream(fileName);
ProcessInput(ftpClient, input, list, fileName);
// إذا (downFlag) {
// ftpClient.deleteFile(fileName);
// }
}
}
آخر
{
يحاول
{
Thread.sleep(M400Constant.NUM_FIVE_THOUSAND);
}
قبض على (InterruptedException ه)
{
/*
* إذا (DEBUGGER.isDebugEnable()) {
* DEBUGGER.debug(فشل في الاستعلامScpToQuery, e); }
*/
خطأ (فشل في الاستعلام ScpToQuery، e)؛
}
}
}
آخر
{
DEBUGGER.debug(scp dir خطأ );
}
}
قبض (الاستثناء ه)
{
/*
* DEBUGGER.debug(فشل تنزيل الملف، e);
*/
خطأ (فشل تنزيل الملف، e)؛
}
أخيراً
{
إغلاق (الإدخال، فشل إغلاق inputStream )؛
إذا (ftpClient! = فارغ)
{
يحاول
{
deleteFile(ftpClient, list);
boolean logoutFlag = false;
يحاول
{
logoutFlag = ftpClient.logout();
// DEBUGGER.debug(logout : + logoutFlag);
}
قبض (الاستثناء ه)
{
/*
* DEBUGGER.debug(logout : + logoutFlag);
*/
خطأ (تسجيل الخروج : + logoutFlag، e)؛
}
ftpClient = null;
}
قبض (الاستثناء ه)
{
/*
* إذا (DEBUGGER.isDebugEnable()) {
* DEBUGGER.error(فشل في ftpDownload, e); }
*/
خطأ (فشل في ftpDownload، e)؛
}
// يحاول {
// ftpClient.disconnect();
// } قبض على (IOException e) {
// إذا (DEBUGGER.isDebugEnable()) {
// DEBUGGER.debug(فشل في ftpDownload, e);
// }
// }
}
}
}
/**
* قم بتشغيل برنامج ftp.
*
* @param ftpClient
* بروتوكول نقل الملفات
* @param الإدخال
* دعم بروتوكول نقل الملفات
* @قائمة المعلمة
* لا داعي للقلق بشأن ما قد يحدث في المستقبل
* @param اسم الملف
*الحصول على أفضل النتائج
*/
عملية الإدخال الفارغة الخاصة (FTPClient ftpClient، إدخال InputStream، قائمة List<String>، اسم ملف السلسلة)
{
إذا (الإدخال == فارغ)
{
يعود؛
}
// boolean downFlag = callService(input);
callService(input);
يحاول
{
input. Close();
ftpClient.CompletePendingCommand();
list.add(fileName);
}
قبض (الاستثناء ه)
{
/*
* DEBUGGER.debug(فشل في ftpDownload, e);
*/
خطأ (فشل في ftpDownload، e)؛
}
}
}