1、從FTP里刪除網站文件,文件會進入伺服器的回收站嗎?
FTP與伺服器里的文件是直接對應的關系,因此:
1、在FTP中對網站文件的操作等同於直接在伺服器商對文件的操作;
2、從FTP上對文件進行增刪,將直接永久消失(既不會進入本地回收站,也不會進入伺服器操作系統中的回收站)
2、JAVA怎麼實現刪除遠程FTP伺服器上的某一文件
一個JAVA 實現FTP功能的代碼,包括了伺服器的設置模塊,並包括有上傳文件至FTP的通用方法、下載文件的通用方法以及刪除文件、在ftp伺服器上傳文件夾、檢測文件夾是否存在等,裡面的有些代碼對編寫JAVA文件上傳或許有參考價值,
(1):Java FTP主文件代碼:
package ftpDemo;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class ftpUtil {
// 上傳文件至FTP通用方法
public static void upLoadFileFtp(KmConfig kmConfig,InputStream is, String fileName){
try {
String ftpHost = kmConfig.getFtpHost();
int port = kmConfig.getFtpPort();
String userName = kmConfig.getFtpUser();
String passWord = kmConfig.getFtpPassword();
String path = kmConfig.getFtpPath();
FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。
ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼
ftpClient.binary();
ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。
TelnetOutputStream telnetOut = ftpClient.put(fileName);// fileName為上傳的文件名
DataOutputStream dataOut = new DataOutputStream(telnetOut);
byte buffer[] = new byte[ * ];
int count = ;
while ((count = is.read(buffer)) != -) {
dataOut.write(buffer, , count);
}
telnetOut.close();
dataOut.close();
ftpClient.closeServer();
} catch (Exception e) {
System.out.println("上傳文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");
}
}
// 刪除文件至FTP通用方法
public static void deleteFileFtp(KmConfig kmConfig,String fileName){
try {
String ftpHost = kmConfig.getFtpHost();
int port = kmConfig.getFtpPort();
String userName = kmConfig.getFtpUser();
String passWord = kmConfig.getFtpPassword();
String path = kmConfig.getFtpPath();
FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。
ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼
ftpClient.binary();
ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。
try {
ftpClient.sendServer("dele " + fileName + " ");
} catch (Exception e) {
System.out.println("刪除文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");
}
ftpClient.closeServer();
} catch (Exception e) {
System.out.println("刪除文件失敗!");
}
}
// 下載ftp文件
public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){
try {
String ftpHost = kmConfig.getFtpHost();
int port = kmConfig.getFtpPort();
String userName = kmConfig.getFtpUser();
String passWord = kmConfig.getFtpPassword();
String path = kmConfig.getFtpPath();
FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。
ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼
ftpClient.binary();
ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。
try {
TelnetInputStream in = ftpClient.get(fileName);
byte[] bytes = new byte[];
int cnt=;
while ((cnt=in.read(bytes,,bytes.length)) != -) {
outputStream.write(bytes, , cnt);
}
outputStream.close();
in.close();
} catch (Exception e) {
ftpClient.closeServer();
e.printStackTrace();
}
ftpClient.closeServer();
} catch (Exception e) {
System.out.println("下載文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");
}
}
//在ftp伺服器上傳件文件夾
public boolean createDir(String path,FtpClient ftpClient) throws Exception{
//進入到home文件夾下
ftpClient.cd("/home");
//創建遠程文件夾
//遠程命令包括
//USER PORT RETR ALLO DELE SITE XMKD CDUP FEAT<br>
// PASS PASV STOR REST CWD STAT RMD XCUP OPTS<br>
// ACCT TYPE APPE RNFR XCWD HELP XRMD STOU AUTH<br>
// REIN STRU SMNT RNTO LIST NOOP PWD SIZE PBSZ<br>
// QUIT MODE SYST ABOR NLST MKD XPWD MDTM PROT<br>
// 在伺服器上執行命令,如果用sendServer來執行遠程命令(不能執行本地FTP命令)的話,所有FTP命令都要加上/r/n<br>
// ftpclient.sendServer("XMKD /test/bb/r/n"); //執行伺服器上的FTP命令<br>
// ftpclient.readServerResponse一定要在sendServer後調用<br>
// nameList("/test")獲取指目錄下的文件列表<br>
// XMKD建立目錄,當目錄存在的情況下再次創建目錄時報錯<br>
// XRMD刪除目錄<br>
// DELE刪除文件<br>
//通過遠程命令 穿件一個files文件夾
ftpClient.sendServer("MKD "+ path + " ");
//這個方法必須在 這兩個方法中間調用 否則 命令不管用
ftpClient.binary();
ftpClient.readServerResponse();
return false;
}
/**
* 檢查文件夾是否存在
* @param dir
* @param ftpClient
* @return
*/
public boolean isDirExist(String dir, FtpClient ftpClient) {
try {
ftpClient.cd(dir);
} catch (Exception e) {
return false;
}
return true;
}
}
(2):KmConfig.java代碼如下:定義FTP伺服器參數,包括登錄的用戶名密碼之類的。
package ftpDemo;
public class KmConfig {
//主機ip
private String FtpHost = "";
//埠號
private int FtpPort;
//ftp用戶名
private String FtpUser = "";
//ftp密碼
private String FtpPassword = "";
//ftp中的目錄
private String FtpPath = "";
public String getFtpHost() {
return FtpHost;
}
public void setFtpHost(String ftpHost) {
FtpHost = ftpHost;
}
public int getFtpPort() {
return FtpPort;
}
public void setFtpPort(int ftpPort) {
FtpPort = ftpPort;
}
public String getFtpUser() {
return FtpUser;
}
public void setFtpUser(String ftpUser) {
FtpUser = ftpUser;
}
public String getFtpPassword() {
return FtpPassword;
}
public void setFtpPassword(String ftpPassword) {
FtpPassword = ftpPassword;
}
public String getFtpPath() {
return FtpPath;
}
public void setFtpPath(String ftpPath) {
FtpPath = ftpPath;
}
}
(3):下面是測試代碼:
3、刪除FTP伺服器上的文件
這個來問題應該是正常的,因為自你在系統中刪除文件時操作系統來做這件事,而在ftp中刪除文件時ftp伺服器做這件事,操作系統和ftp伺服器屬於兩種對文件的機制,你可以嘗試在ftp伺服器上設置是否有刪除文件進入回收站而不是直接刪除
4、ftp伺服器里的文件夾刪不得掉
文件夾刪復不掉的一種很大的可制能,是你的文件夾里還有文件沒有清空,而你的ftp工具設置的是不能刪除未清空的文件夾。
你以前可以刪除,是你的設置對了,可能後來設置有變動。
不知道你用的什麼ftp工具,到選項里查看一下改一下設置。
5、怎麼刪除 ftp 伺服器里的文件
具有許可權的用戶ftp登陸之後,可以直接使用FTP的命令:
prompt off //關掉提示信息
delete 文件名//刪除特定的文件,可以使用通配符。
即可。
6、如何找回伺服器上用FTP刪除的文件
文件夾刪不掉的一種很大的可能,是你的文件夾里還有文件沒有清空,而你的ftp工具設置的是不能刪除未清空的文件夾。
以前可以刪除,是你的設置對了,可能後來設置有變動。
不知道你用的什麼ftp工具,到選項里查看一下改一下設置。
7、ftp伺服器上的文件在本地刪除怎麼恢復
在本地不能恢復遠程地FTP伺服器上刪掉的內容。
8、刪除FTP伺服器上的文件或者文件夾時發生錯誤,請檢查是否有許可權訪問該文件夾!我能上傳,但不能刪除
FTP伺服器傳輸或來編輯失自敗一般有幾種情況:
文件損失,不完整,導致傳輸過程驗證失敗。
文件使用中,比如在殺毒或者編輯中的文件,系統佔用是不能傳輸的。
許可權不足,比如針對某些用戶,是不能傳輸部分文件的,比如exe等風險文件。
特殊情況,比如文件傳輸過程中,目錄滿了,存儲失敗,這個是由伺服器管理員控制的,如果目錄體積不夠文件傳輸的,聯系管理員協商解決。
9、發送到ftp伺服器上的文件能否刪除啊
可以,通過ftp找到你要刪除文件的物理地址,刪了就可以了。
10、怎麼刪除 ftp 伺服器里的文件
這個問題應該是正抄常襲的,因為你在系統中刪除文件時操作系統來做這件事,而在ftp中刪除文件時ftp伺服器做這件事,操作系統和ftp伺服器屬於兩種對文件的機制,你可以嘗試在ftp伺服器上設置是否有刪除文件進入回收站而不是直接刪除