来自流的数据不会写入文件

时间:2013-09-10 10:37:52

标签: c# streamwriter

我有一个小的导入例程,它从ftp源获取数据,解析它们并使用lint-to-sql将数据写入数据库。除了部分之外,这一切都完美无缺,即正在下载的文件不会在本地保存。

该程序遵循以下步骤:

  1. 列出来源
  2. 上的所有文件
  3. 遍历所有文件
  4. 如果文件存在,请跳过
  5. 如果文件尚不存在则下载并解析
  6. 解析内容
  7. 保存到db
  8. 保存到文件(不工作)
  9. 文件在适当的文件夹中创建,但大小为0字节。 我哪里出错了?

    代码:

    FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
    try
    {
        using (Stream responseStream = responseFileDownload.GetResponseStream())
        {
             using (FileStream writeStream = new FileStream(localPath + "\\downloads\\" + FtpListing[i], FileMode.Create))
             {
             //data which is not downloaded, already exists as a flatfile locally
             //write data from responsestream to db
                 using (var reader = new StreamReader(responseStream))
                 {
                     //ignore first line
                     string headline = reader.ReadLine();
                     #region Linq-To-Sql logic | Parsing
                     List<Messwert> fooList = new List<Messwert>();
                     //read rest of csv
                     using (var context = new DataContext())
                     {
                       //Logic edited out
                       //context.SubmitChanges();
                     }
                 }
                 #endregion
                 responseStream.Position = 0;
                 responseStream.CopyTo(writeStream);
             }
         }
     }
    

    提前谢谢

1 个答案:

答案 0 :(得分:0)

可能同样的问题:How can I read an Http response stream twice in C#? 您正尝试两次读取响应流。