我的应用程序如何设法上传(到 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;
}
编辑:
服务器操作系统:UNIX 类型:L8