如何获取ftp服务器下指定文件的大小

如何获取ftp服务器下指定文件的大小,第1张

//////获取ftp服务器上指定文件夹的文件列表(包含文件大小)//////////////////publicDictionaryGetFTPList(stringServerIP,stringUSERID,stringPassWord,stringpath){Dictionarydic=newDictionary()if(path==null)path=""FtpWebRequestreqFtptry{reqFtp=(FtpWebRequest)FtpWebRequest.Create(newUri("ftp://"+ServerIP+"/"+path))reqFtp.KeepAlive=falsereqFtp.UseBinary=true//指定ftp数据传输类型为二进制reqFtp.Credentials=newNetworkCredential(USERID,PassWord)//设置于ftp通讯的凭据reqFtp.Method=WebRequestMethods.Ftp.ListDirectoryDetails//指定 *** 作方式WebResponseresponse=reqFtp.GetResponse()//获取一个FTP响应StreamReaderreader=newStreamReader(response.GetResponseStream(),Encoding.GetEncoding("GB2312"))//读取响应流stringline=reader.ReadLine()while(line!=null){if(line!="."&&line!=".."){intend=line.LastIndexOf('')intstart=line.IndexOf("")stringfilename=line.Substring(end+1)if(filename.Contains(".")){line=line.Replace(filename,"")dic.Add(filename.Trim(),int.Parse(line.Substring(start).Trim()))}}line=reader.ReadLine()}}catch(Exceptionex){Console.WriteLine(ex.Message)}returndic}文件夹或者某一文件都适用

服务器上是不存在文件图标的,图标的显示取决于你本地计算机的文件关联情况,要简单的话,你可以准备一些常用文件格式图标(比如rar、zip、doc等等)放在你程序中的资源文件中(比如是jpg或者png格式),然后读取到文件列表后,根据文件的扩展名来调用相应用的图标来显示

该问题是因为中文名编码导致,retrieveFile的第一个参数需要是 ISO-8859-1 编码。

改成 ftpClient.retrieveFile(new String(fileName.getBytes("GB2312"),"ISO-8859-1"), fos)即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11778696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存