web-dev-qa-db-ja.com

Javaを使用してFTPサーバーからファイルを削除する方法は?

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サーバーからファイルを削除できますか?どんな助けでも大歓迎です.........事前に感謝します

15
awareeye

Apache FTPClient を使用して、これとFTP上の他のすべてのコマンドを実行できます。次のように使用します。

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

チェックアウト Apache commons-net 。それは(他のものの中で)FTPクライアントを持っています。

4
pap

ファイルを削除する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();
2
chepseskaf

JavaのURLとURLConnectionは、リソースの削除をサポートしていません。 (アップロードが機能することにも驚いています)。

したがって、FTPクライアントライブラリ(Apache Commons NetのFTPClientなど)を使用するか、FTPプロトコルのクライアント側の必要な部分を自分で実装する必要があります。

1
Paŭlo Ebermann