如何使用java从ftp服务器删除文件?

时间:2011-07-22 13:35:46

标签: java ftp ftp-client

如何使用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 个答案:

答案 0 :(得分:22)

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

...
FTPClient client = new FTPClient();
client.connect(host, port);
client.login(loginname, password);
client.deleteFile(fileNameOnServer);
client.disconnect();
...

答案 1 :(得分:4)

结帐Apache commons-net。它有一个FTP客户端(以及其他东西)。

答案 2 :(得分: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();

答案 3 :(得分:1)

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

所以你要么必须使用FTP客户端库(比如Apache Commons Net的FTPClient),要么必须自己实现FTP协议客户端的必要部分。