C#中如何实现,如同C中的fseek的效果,即怎么随机读写文件?而不必把文件全部读入内存?

时间:2023-01-09 03:40:38
C#中如何实现,如同C中的fseek的效果,即怎么随机读写文件?而不必把文件全部读入内存?

8 个解决方案

#1


FileStream
用来读写文件的,支持随机访问,以及同步异步读写

StreamWriter
顾名思义,是用来写文本文件或字符串的

StreamReader
顾名思义,是用来读文本文件或字符串的

#2


up

#3


用FileStream

#4


不懂这个问题


关注中

#5


FileStream

#6


没作过,不知道有没有直接的方法,
可能要读出来再截取吧

#7


FileStream fw = new FileStream(newFileName, FileMode.Append, FileAccess.Read, FileShare.Read);
fw.Seek(1024, SeekOrigin.Begin);
fw.Read(myByte, 0, myByte.Length);

不仅可以随机读写,还可以用异步方式
fw.BeginRead(myData.Buffer, 0, assignSize, new AsyncCallback(AsyncRead), myData);

这样可以实现多线程同时读写文件

#8


具体去查查MSDN吧

#1


FileStream
用来读写文件的,支持随机访问,以及同步异步读写

StreamWriter
顾名思义,是用来写文本文件或字符串的

StreamReader
顾名思义,是用来读文本文件或字符串的

#2


up

#3


用FileStream

#4


不懂这个问题


关注中

#5


FileStream

#6


没作过,不知道有没有直接的方法,
可能要读出来再截取吧

#7


FileStream fw = new FileStream(newFileName, FileMode.Append, FileAccess.Read, FileShare.Read);
fw.Seek(1024, SeekOrigin.Begin);
fw.Read(myByte, 0, myByte.Length);

不仅可以随机读写,还可以用异步方式
fw.BeginRead(myData.Buffer, 0, assignSize, new AsyncCallback(AsyncRead), myData);

这样可以实现多线程同时读写文件

#8


具体去查查MSDN吧