首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从上一日期到当前日期下载FTP文件

如何从上一日期到当前日期下载FTP文件
EN

Stack Overflow用户
提问于 2011-04-05 13:25:27
回答 1查看 905关注 0票数 0

我可以从C#下载ftp文件,但它会下载当前的日期文件。我需要下载从上一个日期到当前日期的文件。例如,我的文件是:

代码语言:javascript
复制
xys04-02-2011.zip xys04-03-2011.zip xys04-04-2011.zip

我在控制台应用程序中尝试以下代码:

代码语言:javascript
复制
string defaultLocalFolder_MCX = "C:\\";

FastZip fzMCX = new FastZip();

fzMCX.ExtractZip(
    defaultLocalFolder_MCX + "\\xys03-31-2011.zip", 
    defaultLocalFolder_MCX, "");

FtpWebRequest requestFileDownload = 
    (FtpWebRequest)WebRequest.Create("ftp://localhost/Source/" + fileName);
requestFileDownload.Credentials = new NetworkCredential("test", "test");
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;

FtpWebResponse responseFileDownload = 
    (FtpWebResponse)requestFileDownload.GetResponse();

Stream responseStream = responseFileDownload.GetResponseStream();
FileStream writeStream = new FileStream(localPath + fileName, FileMode.Create);

int Length = 2048;
Byte[] buffer = new Byte[Length];
int bytesRead = responseStream.Read(buffer, 0, Length);

while (bytesRead > 0)
{
    writeStream.Write(buffer, 0, bytesRead);
    bytesRead = responseStream.Read(buffer, 0, Length);
}

responseStream.Close();
writeStream.Close();

requestFileDownload = null;
responseFileDownload = null;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-05 13:31:44

嗯,听起来您需要按日期对方法进行参数化,然后从该日期生成文件名:

代码语言:javascript
复制
string formattedDate = date.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
fzMCX.ExtractZip(
    defaultLocalFolder_MCX + "\\xys" + formattedDate + ".zip", 
    defaultLocalFolder_MCX, "");

然后只需在循环中调用该方法:

代码语言:javascript
复制
for (DateTime date = startDate; date <= dateTime.endDate; date = date.AddDays(1))
{
    FetchZipFile(date);
}

(我只是猜测了它的名字,因为不太清楚zip文件解压是怎么回事。)

以下是代码风格方面的一些建议:

  • 对所有可处理资源使用using语句,而不是手动关闭它们。在您的变量命名中包含WebResponses.
  • Be一致;通常局部变量是在PascalCase
  • Consider中命名的,而不是将“复制一个流到另一个流”的代码提取到帮助器方法中-或者,如果您使用的是Stream.CopyTo
  • You 4,则使用camelCase不需要在方法的末尾将局部变量设置为null;这是没有意义的,并且只会在源代码中产生干扰。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5547592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档