如何判断ftp是否存在某一个文件
是可以这样判断
但是 你要注意的是 你的程序有可能和FTP不再同一台服务器上
所以 你要多做一些工作 你先要根据获取FTP的IP
根据这个IP的FTP目录 在进行判断
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. 如何使用C#确认FTP服务器中的某个文件是否存在
你要参考一下ftp的协议,自己和服务端建立ftp连接,如果连接成功,就通过控制链接向服务器发送一个查询命令即可,判断服务器的应答,从而就知道文件是否存在。这个并不难实现,你作为客户端,只需要利用套接字,按照ftp协议的规定,把需要的连接给建立起来,给服务器发送一个查询命令。
4. C#如何判断FTP服务器上的文件夹是否存在
引入IO命名空间Directory类就是用来操作文件夹的Directory.Exists(string path); 该方法用于检查指定的文件夹在磁盘上是否存在,存在返回true,否则false
5. 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判断是否有列出特定文件。
6. 易语言如何查看FTP里某个文件是否存在
首先是连接FTP服务器,然后下载整个文件名称 如果下载成功等于真,下芦升载失败等于假
是这样写的
连接FTP服务器(“IP地址”,“账号”,“密码”,21,)
如果 (FTP文件下载 (“/1/” + 编辑框1.内容 + “.txt”, 编辑框1.内容 + “.txt”, ) = 真)
等于真的代码~
等陪敬老于假的稿蔽代码~
来个截图吧~
7. [求助(拒绝粘贴党回答)]批处理如何获取FTP上某文件夹是否存在
rem大概就是这个思路,未测试有错请谅解
@echooff
setip=192.168.1.11
setu=user
setp=password
setd=testdir
echoopen%ip%>f.txt
echo%u%>>f.txt
echo%p%>>f.txt
echocd%d%>>f.txt
echobye>>f.txt
ftp-s:f.txt>f.log
findstr550f.log&&echo文件夹%d%不存在||echo文件夹%d%存在
delf.txtf.log
8. 如何判断ftp 路径是否是文件夹
Shell判断FTP上某个路径、文件是否存在:#bin/bash#进入该目录,把文件down在这里cd/opt/#某个路径的某个文件变量定义f1=/file1/file2/filename;ftp-i-v-n192.x.x.x<
9. 怎么判断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;}}
10. 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来看是否发生了错误,而无法确定具体错误种类。