读取/写入文件与移动文件的时间是否相同?

时间:2016-05-04 14:00:14

标签: c# file text

我需要对文本文件进行修改并保持原始文件不变。现在我正在使用读写器并读取文件,然后将其写回来没有修改。

不幸的是,文本文件很大,大约2GB,并且需要大约一个小时才能完成(因为文本文件在网络驱动器上)。

使用该文件。移动比读/写更快?例如,将文本文件移动到本地计算机,进行修改,然后将其移回?

或者,制作原件的副本并通过这种方式进行修改,而不是必须读/写?

我目前的代码:

try
{
    using (StreamReader reader = new StreamReader(filePath))
    {
        using (StreamWriter writer = new StreamWriter(output)) 
        { 
            //go through the whole txt file
            while (!reader.EndOfStream)
            {
                //gets the line
                line = reader.ReadLine();
                if (!modification case goes here))
                {
                    writer.Write(line);
                }
            }
        }
    }
  }
}

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

使用连接的网络驱动器,在本地复制文件,执行任何操作并将其复制回来总是更快。这样您就可以使用缓存和提取(预缓存),这是在磁盘驱动器的硬件级别实现的。网络吞吐量始终限于Network_T_Rate / 10的平均公式,以兆字节/秒表示。因此,例如,如果您拥有100T,与大多数公司网络一样,无论是读取还是写入,您都将获得~10Mb / s,因为另一端的磁盘比网络更快。换句话说,你的瓶颈就是网络。

相关问题