1

我想更新服务器上的现有文件,而不会丢失文件上已保存的数据。目前如果我尝试写一些东西。它通过删除以前的数据来覆盖文件。

我正在使用以下代码。

       using (StreamWriter sw = new StreamWriter(ftp.GetRequestStream(), Encoding.GetEncoding("iso-8859-1")))
        {
            var sb = new StringBuilder();

            foreach (string value in row)
            {

                if (sb.Length > 0)
                    sb.Append(",");

                sb.Append(value);
            }
            sw.WriteLine(oldRecords.ToString() + sb.ToString());
            sw.Flush();
        }

如何在不丢失文件中已有数据的情况下更新文件。

谢谢,

纳维德

4

1 回答 1

0

也许你可以为你的 FTP 客户端实现这个逻辑......

  1. 创建标志“更新=假”
  2. 在本地下载此文件
  3. 通过您的自定义逻辑更改它
  4. 将此文件以其他名称上传到服务器
  5. 重命名旧文件
  6. 为新文件提供正确的名称
  7. 删除旧文件
  8. 标记“Updated=true”否则回滚服务器文件的名称

注意:您必须将所有协议保留在 FTP 客户端。


更新:

你可以尝试使用一些开源代码来开发你的FTP客户端,即C# FTP Client Library

于 2012-04-10T13:41:48.190 回答