FileStream 可以随机读写文件 使用 Seek 方法
Seek() ----------有两个参数 第一参数规定文件指针以字节为单位移动的距离。第二个参数规定开始计算的位置
用 SeekOrigin 枚举的一个值表示 : SeekOrigin 有三个值:Begin Current End。
aFile.Seek(8,SeekOrigin.Begin)---------将文件的指针移动到第八个字节。起始位置就是文件的第一个字节。
aFile.Seek(-5,SeekOrigin.End); 从文件的末尾向前查找五个字节。。
aFile.Seek(2,SeekOrigin.Current);
FileStream.Seek 方法
将该流的当前位置设置为给定值。
命名空间:System.IO
程序集:mscorlib(在 mscorlib.dll 中)
语法
public
override
long
Seek (
long offset,
SeekOrigin origin
)
范例: using System;
using System.IO;
class FStream
{
static void Main()
{
const string fileName = " Test#@@#.dat " ;
// Create random data to write to the file.
byte [] dataArray = new byte [ 100000 ];
new Random().NextBytes(dataArray);
using (FileStream
fileStream = new FileStream(fileName, FileMode.Create))
{
// Write the data to the file, byte by byte.
for ( int i = 0 ; i < dataArray.Length; i ++ )
{
fileStream.WriteByte(dataArray[i]);
}
// Set the stream position to the beginning of the file.
fileStream.Seek( 0 , SeekOrigin.Begin);
// Read and verify the data.
for ( int i = 0 ; i < fileStream.Length; i ++ )
{
if (dataArray[i] != fileStream.ReadByte())
{
Console.WriteLine( " Error writing data. " );
return ;
}
}
Console.WriteLine( " The data was written to {0} " +
" and verified. " , fileStream.Name);
}
}
}
long offset,
SeekOrigin origin
)
范例: using System;
using System.IO;
class FStream
{
static void Main()
{
const string fileName = " Test#@@#.dat " ;
// Create random data to write to the file.
byte [] dataArray = new byte [ 100000 ];
new Random().NextBytes(dataArray);
using (FileStream
fileStream = new FileStream(fileName, FileMode.Create))
{
// Write the data to the file, byte by byte.
for ( int i = 0 ; i < dataArray.Length; i ++ )
{
fileStream.WriteByte(dataArray[i]);
}
// Set the stream position to the beginning of the file.
fileStream.Seek( 0 , SeekOrigin.Begin);
// Read and verify the data.
for ( int i = 0 ; i < fileStream.Length; i ++ )
{
if (dataArray[i] != fileStream.ReadByte())
{
Console.WriteLine( " Error writing data. " );
return ;
}
}
Console.WriteLine( " The data was written to {0} " +
" and verified. " , fileStream.Name);
}
}
}