
FTPSサーバーのフォルダにcsvファイルを置き、
そのファイルが入っているフォルダを取ってきて、
1行ごとに処理するロジックが分かりません。
読み込むときは、DtoClassを作成しています。
現時点で下記のところまでできています。
java
1String hostName = "FTPS_HOST"; // FTPSホスト名 2String userName = "FTPS_ACCESS_ID"; // FTPSホストID 3String password = "FTPS_ACCESS_PASS"; // FTPSホストパスワード 4 5String RemoteDir = "/hoge.com/public_html/MMR_PKG/5701296/160920_133650_13/SNAP/" ; // getHostFilePath 6String LocalDir = "/home/user/EndoTemp/"; // getDestFilePath 7FileOutputStream os = null; 8// FTPClientの生成 9FTPClient ftpclient = new FTPClient(); 10try { 11 // サーバに接続 12 ftpclient.connect(hostName); 13 if (!FTPReply.isPositiveCompletion(ftpclient.getReplyCode())) { 14 log("connection failed", "", 1); 15 } 16 17 // ログイン 18 if (ftpclient.login(userName, password) == false) { 19 log("login failed", "", 1); 20 } 21 22 // アスキーモードに設定 23 ftpclient.setFileType(FTPClient.ASCII_FILE_TYPE); 24 25 // カレントディレクトリを変更 26 ftpclient.changeWorkingDirectory(RemoteDir); 27 // カレントディレクトリの中の全ファイルを取得 28 FTPFile[] names = ftpclient.listFiles(); 29 30 for( int i=0 ;i<names.length ; i++){ 31 String eachFileName = names[i].getName(); 32 if(eachFileName.length()>3){ 33 // ファイルを受信 34 os = new FileOutputStream(LocalDir + eachFileName); 35 ftpclient.retrieveFile(RemoteDir + eachFileName, os); 36 os.close(); 37 } 38 } 39 40} catch (Exception e) { 41 42} finally { 43 ftpclient.disconnect(); 44 os.close(); 45}
csvファイルのファイル名は
test_yyyyMMddHHmmss_001.csv
test_yyyyMMddHHmmss_002.csv
というように日時(yyyyMMddHHmmss)と
連番が含まれています。
処理の流れとしては、
サーバー上のフォルダからcsv
1つずつファイルを取得し、1つずつ処理をしていくという流れにしたいです。
Aファイルを取得→Aファイルを読み込む→DB更新
Bファイルを取得→Bファイルを読み込む→DB更新
Cファイルを取得→Cファイルを読み込む→DB更新
参考にしたサイトは
・https://www.saka-en.com/java/java-ftp-connect-put-get/
・http://katurademo.com/Java/mmr/filelist.html
・http://www.visards.co.jp/java/net/net04.html


回答1件
あなたの回答
tips
プレビュー