2011-07-22 15 views
13

Jak mogę usunąć plik z serwera FTP za pomocą programu java? Jestem powodzeniem mogli przesyłać pliki na serwer FTP za pomocą następującego kodu:Jak usunąć plik z serwera FTP za pomocą Java?

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 
    String s = "ftp://username:[email protected]: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"); 
} 

Ale jak mogę usunąć plików z tego serwera ftp? Każda pomoc będzie mile widziana ......... góry dziękuję

Odpowiedz

19

Można użyć Apache FTPClient zrobić to i wszystkie inne polecenia na FTP. Użyj go coś takiego:

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

+1 dla linku javadoc (plus odpowiedziałeś 54 sekundy przede mną :)) – pap

+0

Dzięki za odpowiedź ur. Ale szukam sposobu, aby to zrobić bez ftpclient. Każda pomoc będzie bardzo doceniana. – Shantanu

+0

Dlaczego chcesz zaimplementować protokół FTP sam, gdy jest wiele gotowych modułów, które robią to za Ciebie? Nie wynajduj ponownie koła. – pap

2

Komenda FTP, aby usunąć plik jest RMD, myślę, że można użyć:

String s = "ftp://username:[email protected]: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(); 
+0

co masz na myśli przez .getPath() ??? – Shantanu

+0

oznacza plik, który chcesz usunąć. – chepseskaf

1

URL i URLConnection Java nie mają poparcia dla usunięcia zasobów. (Jestem nawet zaskoczony, że przesyłam działa).

Musisz więc użyć biblioteki klienta FTP (np. FTPClient z Apache Commons Net) lub samodzielnie zaimplementować niezbędne części strony klienta protokołu FTP.

Powiązane problemy