當前位置:首頁 » 文件傳輸 » 怎麼判斷ftp是否存在某一文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼判斷ftp是否存在某一文件

發布時間: 2022-07-19 19:43:11

1. 易語言如何查看FTP里某個文件是否存在


首先是連接FTP伺服器,然後下載整個文件名稱 如果下載成功等於真,下載失敗等於假

是這樣寫的

連接FTP伺服器(「IP地址」,「賬號」,「密碼」,21,)

如果 (FTP文件下載 (「/1/」 + 編輯框1.內容 + 「.txt」, 編輯框1.內容 + 「.txt」, ) = 真)

等於真的代碼~

等於假的代碼~

來個截圖吧~

2. 請問一下,java中有沒直接判斷ftp上文件夾下是否存在某文件的方法通過遍歷文件夾的方式判斷太耗內存了

第一個種方法 :
org.apache.commons.net.ftp.* 看這個目錄下是否有你要的方法
第二種方法:

package com.soft4j.log4j;

import java.io.IOException;

import sun.net.ftp.FtpClient;

public class FtpTest
{
static String middle_ftpServer = "10.103.2.250";
static String middle_user = "ora9iftp";
static String middle_password = "ftp";
static String middle_dir = "/image/NWKPHOTO/Middle/2009/3";

public static void main(String[] args)
{
FtpClient ftpClient = new FtpClient();
try
{
ftpClient.openServer(middle_ftpServer);
ftpClient.login(middle_user, middle_password);
FtpTest ft = new FtpTest();
ft.isDirExist(ftpClient, middle_dir);
} catch (IOException e)
{
e.printStackTrace();
}

}

/** 判斷Ftp目錄是否存在,如果不存在則創建目錄 */
public void isDirExist(FtpClient ftpClient, String dir)
{
try
{
ftpClient.cd(dir); //想不到什麼好辦法來判斷目錄是否存在,只能用異常了(比較笨).請知道的告訴我一聲`
} catch (IOException e1)
{
ftpClient.sendServer("MKD " + dir + "\r\n");
try
{
ftpClient.readServerResponse();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}

3. 怎麼判斷FTP文件是否存在

//////1.從ftp伺服器的指定目錄下獲得文件列表//////ftp伺服器IP(DNS)地址///對ftp伺服器上的目錄或文檔的操作方式///publicstaticvoidGetFileList(stringpath,stringWRMethods){string[]downloadFiles;WebResponseresponse=null;StreamReaderreader=null;StringBuilderresult=newStringBuilder();try{//連接ftp伺服器ConnectFtpServer(path);//設定要傳送到ftp伺服器的命令reqFTP.Method=WRMethods;//傳回ftp伺服器回應response=reqFTP.GetResponse();reader=newStreamReader(response.GetResponseStream(),Encoding.Default);stringline=reader.ReadLine();while(line!=null){if(line.Substring(line.LastIndexOf('.')+1,3)=="xml"){result.Append(line);result.Append("\n");}line=reader.ReadLine();}if(string.IsNullOrEmpty(result.ToString())==true||result.ToString().Length0){DownLoad(localFolder,downloadFiles);}reader.Close();response.Close();_job_Message+="本次讀取到的文件列表為:"+result;///刪除FTP上的文件DeleteFileName(localFolder,downloadFiles);}}catch(Exceptionex){_job_Err_Message+="3.從FTP遠端主機的根目錄下獲得文件列表時發生的錯誤訊息:"+ex.Message.ToString()+"";downloadFiles=null;}}

4. VBNET從FTP下載文件,需要先判斷文件是否存在嗎

需要。
在實際使用FTP文件伺服器的過程中,經常需要遠程下載解析文件。為提高效率,需要判斷文件存在與否,有選擇的進行解析。
FTP協議是一個用於在計算機網路上客戶端和伺服器之間進行文件傳輸的應用層協議,包括FTP伺服器和FTP客戶端兩個組成部分。FTP能操作任何類型的文件而不需要進一步處理,但有著極高的延時,從開始請求到第一次接收需求數據之間的時間較長,並不時地執行一些冗長的登錄進程。

5. Shell 判斷FTP上某個路徑、文件是否存在

如果FTP上的文件很大,獲取文件會很費時。應該可以不用獲取直接判斷的,下面供借鑒:

#!/bin/bash
server=127.0.0.1#改為你自己的FTP伺服器IP
user=root#修改為你自己的FTP登錄用戶名
password=root#修改為你自己的FTP用戶密碼
errlog=./err.log#用於記錄FTP錯誤

ftpCheckFile()
{
ftp-n-i$server<<EOF
USER$user
PASS$password
ls$1
bye
EOF
}

rm-f$errlog
ftpCheckFile$1>/dev/null2>$errlog
bytes=`wc-c$errlog|awk'{print$1}'`
if[$bytes-eq0];then
echo"$1-Exist!"
else
echo"$1-Notexist!"
fi

用的時候在腳本名後跟一個參數,就是你要判斷的文件名或路徑名。

思路:如果文件或路徑不存在,FTP中的ls命令會執行錯誤,從而在錯誤日誌err.log中有記錄。

通過解析該錯誤日誌的內容,可以得知文件或目錄是否存在。

我這里暫時沒有環境試驗,所以沒法得知錯誤日誌的格式,只能暫且通過判斷日誌位元組大小是否為0來看是否發生了錯誤,而無法確定具體錯誤種類。

6. AIX shell 如何判斷FTP上某路徑 文件是否存在

#!/bin/bash
ftp-v-n<FTP_IP><<EOF
user<username><password>
bi
ls<REMOTE_DIR>/a.file<LOCAL_DIR>/list
prompt
ls
bye
EOF
result=`grep<LOCAL_DIR>/list`
if["$result"='']
then
echo"FILENOTFOUND"
else
echo"FILEEXISTED"
fi
rm-rf<LOCAL_DIR>/list

思路就是通過FTP將ls的結果保存到本地,本地通過grep判斷是否有列出特定文件。

7. C# 判斷ftp上目錄是否存在

FtpWebRequest
frequest
=
FtpWebRequest.Create("
ftp://guoming.daya.com:1212/test")
as
FtpWebRequest;
frequest.Credentials
=
new
NetworkCredential("用戶名",
"密碼");
frequest.Method
=
WebRequestMethods.Ftp.ListDirectory;
try
{
FtpWebResponse
response
=
frequest.GetResponse()
as
FtpWebResponse;
}
catch
{
Console.WriteLine("目錄不存在");
}
答案補充
重復以上操作就可以了啊
FtpWebRequest
frequest
=
FtpWebRequest.Create("ftp://guoming.daya.com:1212/test/test")
as
FtpWebRequest;
frequest.Credentials
=
new
NetworkCredential("用戶名",
"密碼");
frequest.Method
=
WebRequestMethods.Ftp.MakeDirectory;
try
{
FtpWebResponse
response
=
frequest.GetResponse()
as
FtpWebResponse;
}
catch
{
}
答案補充
FtpWebRequest
frequest
=
FtpWebRequest.Create("ftp://guoming.daya.com:1212/test/test/test")
as
FtpWebRequest;
frequest.Credentials
=
new
NetworkCredential("用戶名",
"密碼");
frequest.Method
=
WebRequestMethods.Ftp.MakeDirectory;
try
{
FtpWebResponse
response
=
frequest.GetResponse()
as
FtpWebResponse;
}
catch
{
}
答案補充
暫時沒有好的解決方法。

8. 如何判斷ftp上是否存在某一文件或文件夾

Shell 判斷FTP上某個路徑、文件是否存在:
#bin/bash
#進入該目錄,把文件down在這里
cd /opt/
#某個路徑的某個文件變數定義
f1=/file1/file2/filename;
ftp -i -v -n 192.x.x.x <<ok
use ftpuser ftppasswd
binary
get ${f1}
bye
ok
if [ -f /opt/filename ] ;then
echo "the ftp filename exist.";
fi
exit 0
#首先要知道ftp上的路徑和文件的名字,如果不知道的話,用通配符也可以,但是路徑得知道,總不能全部下載下來吧。。。還有,ftp能登錄、用戶名、密碼應該不會有問題吧,就沒判斷了。

9. ftp登錄伺服器後如何判斷伺服器上是存在某一個文件

procere TForm1.Button3Click(Sender: TObject);
var
List : TStringList;
filename : String;
begin
filename:='123.txt';
IdFTP1.List(List,true);
if List.IndexOf(filename)>0 then
showmessage('ssssssssssss');

end;