2011-07-22 131 views
13

如何使用java程序從ftp服務器中刪除文件? 我能夠成功上傳使用下面的代碼上的FTP文件:從該FTP服務器如何使用java從ftp服務器中刪除文件?

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"); 
} 

但我怎麼刪除文件? 任何幫助將不勝感激......... 在此先感謝

回答

19

您可以使用Apache FTPClient在FTP上執行此操作和所有其他命令。 使用它是這樣的:

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

+1對於javadoc鏈接(加上你在我之前回答了54秒:)) – pap

+0

感謝你的回答。但我正在尋找一種方法來做到這一點,而不需要ftpclient。任何幫助將不勝感激 – Shantanu

+0

爲什麼你想要自己實現FTP協議,當有許多預製模塊爲你做?不要重新發明輪子。 – pap

2

的FTP命令刪除文件是RMD,我想你可以使用:

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

你的意思是什麼 .getPath()??? – Shantanu

+0

代表您要刪除的文件。 – chepseskaf

1

Java的URL和URLConnection不具備的資源支持刪除。 (我甚至對上傳作品感到驚訝)。

所以你要麼必須使用FTP客戶端庫(如Apache Commons Net的FTPClient),要麼必須自己實現FTP協議客戶端的必要部分。

相關問題