17

如何使用 java 程序从 ftp 服务器中删除文件?我可以使用以下代码成功地在 ftp 上上传文件:

public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    String s = "ftp://username:password@ftpclient:21/text.txt;type=i";
    URL u = new URL(s);
    URLConnection uc = u.openConnection();
    BufferedOutputStream bos = new BufferedOutputStream(uc.getOutputStream());
    bos.write(67);
    bos.close();
    System.out.println("Done");
}

但是我如何从这个 ftp 服务器中删除文件呢?任何帮助将不胜感激............提前致谢

4

4 回答 4

25

您可以使用Apache FTPClient来执行此操作以及 FTP 上的所有其他命令。像这样使用它:

...
FTPClient client = new FTPClient();
client.connect(host, port);
client.login(loginname, password);
client.deleteFile(fileNameOnServer);
client.disconnect();
...
于 2011-07-22T13:40:16.810 回答
4

查看Apache commons-net。它有一个 FTP 客户端(除其他外)。

于 2011-07-22T13:41:10.650 回答
2

删除文件的 FTP 命令是RMD,我认为您可以使用:

String s = "ftp://username:password@ftpclient:21/text.txt;type=i";
URL u = new URL(s);
URLConnection uc = u.openConnection();
PrintStream ps = new PrintStream((uc.getOutputStream()));
ps.println("RMD " + <myFile>.getPath());
ps.close();
于 2011-07-22T13:50:54.907 回答
1

Java 的 URL 和 URLConnection 不支持删除资源。(我什至对上传工作感到惊讶)。

因此,您要么必须使用 FTP 客户端库(例如 Apache Commons Net 的 FTPClient),要么必须自己实现 FTP 协议客户端的必要部分。

于 2011-07-22T17:29:25.840 回答