java刪除ftp文件
中文路徑什麼的也沒問題,只要統一編碼格式就行,linux下好像不行
⑵ java 在用 FtpClient 執行遠程命令的時候 550 Delete operation failed
刪除許可權不夠?檢查一下,文件夾的許可權。可以在連接ftp伺服器測試下。有的時候埠不通,也可能會出現這個問題
⑶ java 刪除ftp上的圖片,使用ftpClient.sendServer("DELE "+newname+"\r\n"),可是最後ftp上剩餘一個0位元組
使用方法不對吧,你看看FTPClient這個類,提供了deleteFile方法,應該是用這個進行刪除文件的
至於用命令的方式刪除,你要看哈FTPCommand這個類裡面的常量命令,有DELE和DELETE兩個,我沒用過命令的方式,不知道這兩個的區別,需要你自己試了
⑷ 知道怎麼在本機上用java 代碼刪除伺服器上的文件
import java.io.InputStream;
import java.io.PrintStream;
import org.apache.commons.net.telnet.TelnetClient;
/**
* 利用apache net 開源包,使用telnet方式獲取AIX主機信息
* @version 1.2
*/
public class NetTelnet {
// Telnet對象
private TelnetClient telnet = new TelnetClient();
private InputStream in;
private PrintStream out;
// 提示符。具體請telnet到AIX主機查看
private char prompt = '#';
// telnet埠
private String port;
// 用戶
private String user;
// 密碼
private String password;
// IP地址
private String ip;
public NetTelnet() {
try {
// AIX主機IP
this.ip = "219.243.12.10";
this.password = "05933663007";
this.user = "administrator";
this.port = "23";
telnet.connect(ip, Integer.parseInt(port));
System.out.println("開始獲取輸入流...");
in = telnet.getInputStream();
out = new PrintStream(telnet.getOutputStream());
// 登錄
/* readUntil("login: ");
write(user);
readUntil("Password: ");
write(password);
readUntil(prompt + " ");*/
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 讀取分析結果
*
* @param pattern
* @return
*/
public String readUntil(String pattern) {
try {
char lastChar = pattern.charAt(pattern.length() - 1);
StringBuffer sb = new StringBuffer();
char ch = (char) in.read();
while (true) {
sb.append(ch);
if (ch == lastChar) {
if (sb.toString().endsWith(pattern)) {
return sb.toString();
}
}
ch = (char) in.read();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 寫
*
* @param value
*/
public void write(String value) {
try {
out.println(value);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 向目標發送命令字元串
*
* @param command
* @return
*/
public String sendCommand(String command) {
try {
write(command);// 執行刪除的命令 rm -rf *.*
return readUntil(prompt + " ");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 關閉連接
*
*/
public void disconnect() {
try {
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
System.out.println("開始執行telnet......");
NetTelnet telnet = new NetTelnet();
// 通過aix的命令「查找主機名稱」獲取數據
// 命令是 "hostname"
// 不熟悉命令的參考<<AIX網路管理手冊>>
System.out.println("開始發送hostname命令");
String result = telnet.sendCommand("hostname");
System.out.println("顯示結果");
System.out.println(result);
// 最後一定要關閉
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
⑸ 求助:Java 怎樣實現刪除ftp上文件夾,不是文件,是文件夾噢,用的是apache的包
逐層 先將各子目錄里的文件刪除、再刪除該目錄
⑹ java實現FTP功能,無需界面,只要實現文件以及文件夾的上傳、下載、刪除、覆蓋即可
樓主,看apache的開源項目 commons-net 有例子、有文檔
⑺ java實現ftp文件操作的方式有哪些
運用類的辦法,編程人員能夠長途登錄到FTP伺服器,羅列該伺服器上的目錄,設置傳輸協議,以及傳送文件。FtpClient類涵 蓋了簡直一切FTP的功用,FtpClient的實例變數保留了有關樹立"署理"的各種信息。下面給出了這些實例變數:
public static boolean useFtpProxy
這個變數用於標明FTP傳輸過程中是不是運用了一個署理,因此,它實際上是一個符號,此符號若為TRUE,標明運用了一個署理主機。
public static String ftpProxyHost
此變數只要在變數useFtpProxy為TRUE時才有用,用於保留署理主機名。
public static int ftpProxyPort
此變數只要在變數useFtpProxy為TRUE時才有用,用於保留署理主機的埠地址。
FtpClient有三種不同方式的結構函數,如下所示:
1、public FtpClient(String hostname,int port)
此結構函數運用給出的主機名和埠號樹立一條FTP銜接。
2、public FtpClient(String hostname)
此結構函數運用給出的主機名樹立一條FTP銜接,運用默許埠號。
3、FtpClient()
此結構函數將創立一FtpClient類,但不樹立FTP銜接。這時,FTP銜接能夠用openServer辦法樹立。
一旦樹立了類FtpClient,就能夠用這個類的辦法來翻開與FTP伺服器的銜接。類ftpClient供給了如下兩個可用於翻開與FTP伺服器之間的銜接的辦法。
public void openServer(String hostname)
這個辦法用於樹立一條與指定主機上的FTP伺服器的銜接,運用默許埠號。
⑻ java FTPClient如何刪除遠程伺服器端的文件夾及其子文件夾及其內容!
假如文件夾裡面有文件的話,ftpclient根本刪除不了文件夾,不像其他api可以自動遞歸刪除,所以得先刪除文件夾裡面的文件,然後在刪除文件夾,
刪除之前記得改變下工作目錄 fileName是dirName裡面的文件
ftpClient.changeWorkingDirectory(remoteDir+dirName)
刪除文件命令:ftpClient.deleteFile(fileName);
刪除完文件後更改目錄ftpClient.changeWorkingDirectory(remoteDir)
刪除文件夾命令:ftpClient.removeDirectory(dirName);
⑼ Java FTPClient 刪除文件 deleteFile,文件目錄多層時會出錯,文件目錄小於等於4層可以正常刪除
中午也遇到調用ftp.deleteFile("文件全路徑")刪除文件失敗;
建議:1.下文件路徑是否正確(包括路徑需從根目錄開始 /)
2.文件名稱若包含中文(new string(path.getBytes("GBK"),"ISO-8859-1"))注意編碼問題
主要發現:題主說的用命令創建的文件無法刪除問題!自己命令創建的txt文件是可以刪除的;不知道題主刪除不了的是什麼文件;
另:發現 用這個函數刪除文件時;ftp上文件已被刪除但返回false 這個問題不知誰有遇到,還請不吝賜教
⑽ java刪除linux下ftp文件的問題
這樣是不能刪除文件的,因為ftp文件許可權會限制java代碼的執行,如果你想實現這樣的功能,可以在ftp伺服器上面執行java代碼,路徑指定伺服器的路徑,不要使用ftp或者http之類的協議,然後給java許可權或者設置文件許可權為777,這樣就可以執行了。