C# 读写文件问题?

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:34:51
C#读写文件操作时,一个文件 为空文件,一个文件本身就有2M. 向里面写入同样大小的类容,两者速度有影响吗? 每次打开文件流的时候需要写入内存吗?
创建一个文件流,找到文件流中的某个位置,这一过程,计算机会将该文件放入到内存中吗.

因为我现在做一个文件传输,想尽量做到速度上的提升。

微观的差别在这里可以忽略。原来的文件应该不会影响你去向里面写入东西。你是在两个文件里面追加内容的时候,是不会影响的。 就跟StringBuilder似的,你想这个容器里append东西的时候,有何没有普通是看不出差别的。当然要是追根到底的话,那么计算机在追加的时候,肯定是要定位追加的位置的!

写文件的速度不受文件大小的影响。

文件流是一个对象,c#的引用对象肯定是放在内存里面的,至于以什么方式存在,看你操作的文件类型了,如果是文本文件,那么内存里存放的是文本内容,以二进制或ASCII的方式(你可以设置)保存。
如果是数据文件或声音图像文件,会以二进制的形式存放的。

看你用的什么流了,内存流 或者 文件流,从名字上面就知道不一样了.

我觉得原来文件的大小 不会影响到流的 写入速度.

你要做文件传输的话,可以这样考虑:
把文件分块,收到所有的块后再合并。

文件流操作,速度上读要比写快一点,内存管理C#本身处理,不必考虑;除非是较大的文件,如超出内存缓存而你又想自已来操作处理的之外。

准确的说两者的速度是不一样的,但是再我们添加内容较少的时候,可能分辨不出来,