FileStream infile = new FileStream(@"C:\Users\John\Desktop\ProjectNew\nov.txt", FileMode.Open, FileAccess.Read);
int position = x.Length;
infile.Seek(position, SeekOrigin.Begin);
但Seek方法返回数字。如何从字符串中的位置读取文件'infile'?
答案 0 :(得分:6)
这就是你要追求的吗?假设你想从第100位开始阅读......
using (FileStream fs = new FileStream(@"file.txt", FileMode.Open, FileAccess.Read))
{
fs.Seek(100, SeekOrigin.Begin);
byte[] b = new byte[fs.Length - 100];
fs.Read(b, 0, (int)(fs.Length - 100));
string s = System.Text.Encoding.UTF8.GetString(b);
}
答案 1 :(得分:2)
答案 2 :(得分:0)
Seek()仅将文件指针放在其他位置。如果在搜索之前执行读操作,它将从文件的开头读取。如果您在搜索后阅读,它将从位置开始阅读。
所以要从头到尾阅读文件,请Seek()
,然后Read()
或ReadToEnd()
。