使用后处置Apache FTP对象

时间:2014-04-07 03:00:35

标签: java ftp

我试图删除我暂时创建并使用apache commons ftp-class上传的一些文件。

FTPClient ftp = new FTPClient();
ftp.login(user, password);

/* Some FTP-Operations in between... not really important*/

File uploadFile = new File("tempfile.txt");

/* Filling the file here... */

ftp.storeFile(uploadFile.getName(), new FileInputStream(uploadFile));

/* Some more operations on FTP and Filesystem */

uploadFile.delete();

uploadFile.delete();返回false。如果该行

ftp.storeFile(uploadFile.getName(), new FileInputStream(uploadFile));

被遗漏,删除工作完全正常。

在删除文件之前,我还尝试断开连接:

ftp.logout();
ftp.disconnect();

仍然没有运气。

但是,如果我强制垃圾收集器运行

System.gc();
System.runFinalization();

上传后可以删除该文件。

现在的问题是:我得知你无法真正强制进行垃圾收集。你只能建议它。所以,这不是豁免下注。

有没有办法以任何方式处理ftp-object?它没有dispose() oder flush()方法或其他任何方法。

或者它是否真的是正确的"专业"如何调用垃圾收集器并希望最好?

0 个答案:

没有答案