В этой статье описывается метод загрузки файлов на FTP -сервер от Java. Поделитесь этим для вашей ссылки, следующим образом:
Инструменты:
пакет com.fz.common.util; import java.io.datainputstream; import java.io.dataoutputstream; import java.io.fileinputstream; импорт java.io.filenotfoundexception; импорт java.io.fileoutputstream; import java.io.ioexception; импорт. java.text.simpledateformat; import java.util.date; import org.apache.commons.net.ftp.ftpclient; import org.apache.commons.net.ftp.ftprepl getInput () {dataInputStream d = null; try {d = new DataInputStream (new FileInputStream ("c: /wmc.dat")); возврат D; } catch (filenotfoundexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } return d; } / ** * * * @date 26 сентября 2011 г. 10:17:44 * @param Whites * @return * @author Zhangh * / public static boolean creathiTemanagefile (byte [] whites, string file) {DataOutputStream d; try {d = new DataOutputStream (new FileOutputStream (file)); D.Write (белые); d.flush (); } catch (Exception e) {// todo автоматически генерируемый блок Catch return false; // e.printstacktrace (); } вернуть true; } / ** * * * @date 16 сентября 2011 г., 4:39:22 вечера * @param url * @param username * @param password * @param path * @param filename * @param input * @return * @author zhangh * / public static boolean uploadfile (строгий url, string username, string pholse, string pather, string inpitame, intount inpute inpute inpute inpute inpute invatie invatie invatieme inpute invatiem invatiem invatiem invatiem invatiem wongstean invatiem wonvil Ftpclient ftp = new ftpclient (); попробуйте {int ответить; ftp.connect (url); // ftp.connect (url, порт); // подключиться к серверу FTP // Если используется порт по умолчанию, вы можете напрямую подключиться к серверу FTP с помощью ftp.connect (url); ftp.login (имя пользователя, пароль); // Войти в ответ = ftp.getReplyCode (); if (! ftpreply.ispositivecoplusion (reply)) {ftp.disconnect (); вернуть успех; } ftp.ChangeWorkingDirectory (path); ftp.storefile (имя файла, вход); ftp.logout (); input.close (); Успех = правда; } catch (ioException e) {e.printstackTrace (); } наконец {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}} return успех; } / ** * * * * * uploadfileftp (string url, string username, String password, String Path, String Filename, InputStream Input, InputStream Input2) {date Date = new Date (); SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); String time = formatter.format (date); логический успех = false; Ftpclient ftp = new ftpclient (); попробуйте {int ответить; ftp.connect (url); ftp.login (имя пользователя, пароль); // rougin response = ftp.getReplyCode (); if (! ftpreply.ispositivecoplusion (reply)) {ftp.disconnect (); вернуть успех; } ftp.ChangeWorkingDirectory (path); ftp.storefile (имя файла, вход); ftp.storefile (имя файла + время, вход2); ftp.logout (); input.close (); Успех = правда; } catch (ioException e) {e.printstackTrace (); } наконец {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}}} return успех; }}Прочитайте файл конфигурации:
Пакет com.fz.fzbike.domain; импорт java.io.bufferedinptream; импорт java.io.fileinputstream; import java.io.ioexception; импорт java.io.inputstream; import java.util.properties; импорт org.apache.log4j.logger; import. Класс бобов, который получает информацию FTP -сервера * * @author wuxq * */public class sysconstats {private static logger log = logger.getlogger (sysconstats.class); public Static String ftpserver; // IP -адрес FTP -сервера Public Static String ftpuserName; // FTP -сервер пользователя username public static String ftppassword; // FTP -сервер пароль пользователя public Static Stringsultroot; // Path to Hore the ftp server public sysconstats () {try in in in = new BuffervedIm -neam -newem Sysconstants.public_path.substring (0, sysconstants.public_path.length () - 7) + "/bidfileconfig.properties")); Свойства prop = новые свойства (); prop.load (in); Sysconstats.ftpserver = prop.getProperty ("ftpserver", "none"); Sysconstats.ftpusername = prop.getProperty ("ftpusername", "none"); Sysconstats.ftppassword = prop.getProperty ("ftpassword", "none"); Sysconstats.enveloperEsultroot = prop.getProperty ("envveloperSultroot", "none"); log.debug ("успешно прочитать информацию о конфигурации FTP!"); } catch (ioException e) {log.debug ("Не удалось прочитать информацию о конфигурации FTP!"); e.printstacktrace (); }} public static String getFtsPserver () {return ftpserver; } public static void setftSserver (String ftpserver) {ftpserver = ftpserver; } public Static String getFtPuserName () {return ftpuserName; } public static void setftPuserName (String ftpusername) {ftpusername = ftpusername; } public static String getFtppassword () {return ftppassword; } public static void setftppassword (string ftppassword) {ftppassword = ftppassword; } public Static String getEnveloperSultroot () {return envovveloderSultroot; } public static void setEnveloperEsultroot (string uvveloperSultroot) {envveloperSultroot = envvesterSultroot; } public static void main (string args []) {new sysconstats (); }}Загрузите файл ftp:
пакет com.fz.fzbike.biz; импорт java.io.bufferedinptream; импорт java.io.bytearrayoutputstream; импорт java.io.dataoutputstream; импорт java.io.fileinputstream; импорт java.io.filenotfoundexception; импорт java.ioexception; java.text.decimalformat; import com.enets.basesys.user.vo.uservo; import com.enets.framework.assemble.requesthashnew; импорт com.enets.framework.database.dbconnection; импорт com.fz.common.util.fileutil; import Com.fz.fzbike.common com.fz.fzbike.domain.sysconstats;/** * Загрузите код карты на FTP-сервер, чтобы сгенерировать файл BAT * * @author wuxq 2011-09-28 */public class oploadcardinnoftpact 10:38:38 утра */ public void uploadftp (requesthashnew reh) {string cardtype = reh.get ("cardtype"). ToString (); Dbconnection dbc = reh.getdbc (); // ссылка база данных dbc.endtran (); // Определите, является ли он пустым, и это может быть потеря отчета, выйдите из потери отчета, выйти из черного списка и получить тип карты на основе идентификатора карты if (stringutil.isnull (cardtype)) {String cardtypesql = "select ci.card_type от lc_t_card_info ci, где ci.card_id = reh. cardtype = dbc.getlist0 (cardtypesql); } String top = "c:/upload/"; String file = top + "bmc.dat"; // Определите каталог для хранения временного файла BAT -списка BAT String WhiteFile = top + "wmc.dat"; // Определить каталог для хранения временного белого файла BAT String buserfile = top + "buser.dat"; // Определите каталог для хранения временного черного пользовательского файла fileId = dbc.setoracleglidevalue ("lc_t_upgrade_file"); // Получить серийный номер таблицы файлов // Получить текущий идентификатор пользователя uservo = reh.getUservo (); String userId = uservo.getUserid (); DecimalFormat DF = new DecimalFormat ("0,0"); if (cardtype.equals ("7")) {stringbuffer bf = new StringBuffer (1024); bf .append («Выберите различный card_in_no из (select tc.card_in_no») .append ("from lc_t_blacklist tb Left Join Lc_t_card_info tc") .append ("On tb.card_id = tc.card_id, где tc.card_type = 7"). .Append ("tc.card_in_no из lc_t_card_loss cl reak join") .append ("lc_t_card_info tc на cl.card_id = tc.card_id, где tc.card_type = 7 и") .append ("cl.whether_effective = 1) t or. in rescords in vilmerator in inlemberator in inlemorator); таблица записи stringbuffer brush = new StringBuffer (1024); bffer .append ("select ti.card_in_no из lc_t_card_info ti") .append ("где ti.card_type = 7 и ti.card_make_status = 2 порядок по ti.card_in_no"); // все записи администратора в таблице карты // define arrame ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray in ray litsilted arr [] [] = dbc.getarr (bf.tostring ()); // Определите массив для получения кодов карт, отсортированных в таблице информации о карте string usingr [] [] = dbc.getarr (bffer.tostring ()); upload_f (arr, file); // Получить номер версии файла BAT BAT BLACK, начальным значением является 1.0 String vectorsql = "select file_vesion из (select row_number () over (order by t.file_vesion desc) num," + "t.file_vesion из lc_t_upgrade_file t, где t.file_type = 2), где num = 1"; String vesion = dbc.getlist0 (vesionsql); Double ve = 1.0; // Определить переменную номера версии черного списка, начальное значение составляет 1,0/ * *, Если в базе данных есть старая версия, версия будет увеличена на 0,1 */ if (stringUtil.isnotnull (vesion)) {ve = (double.parsedouble (vesion) + 0,1); } vesion = df.format (ve); // Версия записывает оператор SQL string bmcsql = "Вставка в lc_t_upgrade_file values (" + fileid + ", '" + file + "', '" + vesion + "', '2', sysdate," + userid + ")"; dbc.insertdb (bmcsql); // Сохраняется в базе данных upload_f (listarr, whitefile); // Получить номер версии файла BAT в белом списке, начальным значением является 1.0 String vesionsql2 = «SELECT FILE_VERION из (SELECT ROW_NUMBER () OUR (порядок T.FILE_VESION DESC) NUM," + "T.FILE_VESION из lc_t_upgrade_file t, где t.file_type = 5), где num = 1"; String vesion2 = dbc.getList0 (vesionSql2); Double VE2 = 1,0; // Определить переменную номер версии белой списка, начальное значение составляет 1,0/ * *, Если в базе данных есть старая версия, версия будет увеличена на 0,1 */ if (stringUtil.isnotnull (vesion2)) {ve2 = (double.parsedouble (vesion2) + 0,1); } String bfileid = dbc.setorAcleglideValue ("lc_t_upgrade_file"); // Получить серийный номер серийного номера таблицы файлов vesion2 = df.format (ve2); // Запись версии оператора SQL String BMCSQL2 = "INSERT INTO LC_T_UPGRADGE_FILE VALUES (" + BFILEID + ", '" + WhiteFile + "', '" + vesion2 + "', '5', sysdate," + userId + ")"; dbc.insertdb (bmcsql2); // Сохраняется в базе данных} else {stringbuffer bf2 = new Stringbuffer (1024); bf2 .append («Выберите различный карт_in_no из (select tc.card_in_no») .append ("from lc_t_blacklist tb Left Join Lc_t_card_info tc") .append ("On tb.card_id = tc.card_id, где tc.card_type <> 7"). .Append ("tc.card_in_no из lc_t_card_loss cl hail join") .append ("lc_t_card_info tc на cl.card_id = tc.card_id") .append ("где tc.card_type <> 7 и cl.whether_effective") .append ("= 1) T.card_In_in_n_. Записи не администратора в таблице BlackList и сообщают о потерянном пользовательском таблице // Определите массив для получения кодов пользовательских карт, сортированных в черных пользователях arr2 [] [] = dbc.getarr (bf2.tostring ()); upload_f (arr2, buserfile); // Получить номер версии файла чернокожих пользователей BAT, начальное значение - 1.0 string hsersql = "select file_vesion из (select row_number () over (order by t.file_vesion desc) num," + "t.file_vesion из lc_t_upgrade_file t, где t.file_type = 4), где num = 1"; String vesion3 = dbc.getList0 (husersql); Double VES = 1.0; // Определите переменную номера версии черного пользователя, начальное значение составляет 1,0/ * * Если в базе данных есть старая версия, версия будет увеличена на 0,1 */ if (stringUtil.isnotnull (vesion3)) {ves = (double.parsedouble (vesion3) + 0,1); } vesion3 = df.format (ves); // Версия записывает оператор SQL string husersql = "Вставка в lc_t_upgrade_file values (" + fileid + ", '" + buserfile + "', '" + vesion3 + "', '4', sysdate," + userid + ")"; dbc.insertdb (husersql); // Сохраняется в базе данных}}/ ** * * * * * * * * * * * * * * * * * * * * * BytearrayOutputStream (); DataOutputStream OS = новый DataOutputStream (BAOS); try {os.writelong (long.reversebytes (input)); } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); } byte [] b = baos.tobytearray (); возврат B; } / ** * * * Имя метода: upload_f Метод Описание: Загрузите файл на FTP -сервер * * @param arr * @param file * void версия 1.0 Автор Wuxq 8 октября 2011 г. 11:37:27 AM * / public static void upload_f (string [] arr, string file) {byte by by [] = null; byte [] result = new Byte [1]; if (stringutil.isnotnull (arr)) {result = new Byte [arr.length * 4]; int position = 0; for (int i = 0; i <arr.length; i ++) {by = writelong (long.parselong (arr [i] [0])); Byte List [] = новый байт [4]; for (int h = 0; h <list.length; h ++) {list [h] = by [h]; } for (int g = position; g <position+4; g ++) {result [g] = list [g - 4 * i]; } position = position + 4; }} boolean bool = fileutil.creatwhitemanagefile (result, file); // Создать файл BAT if (bool) {// inputStreamReader isr = new InputStreamRead (new // fileInputStream (file)); Inputstream inp = null; InputStream inp2 = null; try {inp = new BufferedInputStream (new FileInputStream (file)); inp2 = new BufferedInputStream (New FileInputStream (файл)); } catch (filenotfoundexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } // перехватывать имя файла string f = file.substring (10, file.length ()); // Получить информацию о конфигурации FTP sysconstats sc = new sysconstats (); Fileutil.uploadfileftp (sc.ftpserver, sc.ftpusername, sc.ftppassword, sc.enveloperesultroot, f, inp, inp2); }}}Для получения дополнительной информации о контенте, связанном с Java, пожалуйста, ознакомьтесь с темами этого сайта: «Сводка файлов Java и навыки работы по каталогам», «Учебное пособие по структурам данных и алгоритмах Java», «Сводка операции Java DOM Node» и «Сводка операции Java Cache Operation»
Я надеюсь, что эта статья будет полезна для всех Java Programming.