私のアプリケーションは、最初のファイルを上書きするのではなく、同じ名前と種類のファイルの複製を (FTP サーバーに) アップロードする方法を教えてください。
2012-11-09.log 52 Text Document 11/9/2012 8:44:00 PM -rw-rw-r--
2012-11-09.log 49 Text Document 11/9/2012 8:41:00 PM -rw-rw-r--
2012-11-09.log 59 Text Document 11/9/2012 8:44:00 PM -rw-rw-r--
2012-11-09.log 53 Text Document 11/9/2012 8:41:00 PM -rw-rw-r--
2012-11-09.log 57 Text Document 11/9/2012 8:40:00 PM -rw-rw-r--
FTP サーバーへの書き込み方法については、特別なことは何もありません。Java スニペットを次に示します。
String dest = "ftp://[USERNAME]:[PASSWORD]@[FTP].com/DR/"+Util.putDateStamp() + ".log";
u = new URL(dest);
uc = u.openConnection();
uc.setDoOutput(true);
OutputStream outgoing = uc.getOutputStream();
outgoing.write(dataToSend.getBytes());
outgoing.close();
「ファイルが見つかりません」というエラーが表示されるため、ファイルの名前変更や削除ができません。残念ながら、それを再現しようとしたところ、期待どおりに動作しました。同じ名前の最初のファイルが上書きされたため、エラーを再現できませんでした。FTP サーバーに対する権限が制限されていることに注意してください。それは私のではありません。私の最後の手段は、何らかの形で破損したことを管理者に伝えることです。大したことではありませんが、それがどのように起こったのか分からないのは本当に気になります. ファイルが一意でない場合にファイルの名前を変更するための FTP コマンドがあることは認識していますが、それは問題ではありません。
私の質問は次のとおりです。これはどのようにして起こりましたか。また、再現できないため、どうすれば再発を回避できますか
Util からのコード:
public static String putDateStamp(){
String currentdate = "";
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
currentdate = sdf.format(cal.getTime());
return currentdate;
}
編集:
サーバー OS: UNIX タイプ: L8