文件读取流和写入流
文件读取流和写入流
- 读写内存使用
System.IO.MemorySystem
- 处理网络数据使用
Net.Sockets.NetworkStream
流的使用
FileStream readFileStream = new FileStream(FilePath, FileMode, FileAccess);
FileStream readFileStream = new FileStream(@"E:\file.zip", FileMode.Open, FileAccess.Read);
readFileStream.ReadByte();
FileStream writeFileStream = new FileStream(@"E:\fileCopy.zip", FileMode.Create, FileAccess.Write);
writeFileStream.WriteByte();
writeFileStream.Close();
readFileStream.Close();
FileStream readFileStream = new FileStream(@"E:\file.zip", FileMode.Open, FileAccess.Read);
FileStream writeFileStream = new FileStream(@"E:\fileCopy.zip", FileMode.Create, FileAccess.Write);
int nextByte = -1;
while ((nextByte = readFileStream.ReadByte()) != -1)
{
writeFileStream.WriteByte((byte)nextByte);
}
writeFileStream.Close();
readFileStream.Close();
优化读取和写入流
FileStream readFileStream = new FileStream(@"E:\file.zip", FileMode.Open, FileAccess.Read);
FileStream writeFileStream = new FileStream(@"E:\fileCopy.zip", FileMode.Create, FileAccess.Write);
byte[] buffer = new byte[1024];
int count = -1;
while ((count = readFileStream.Read(buffer, 0, 1024)) != 0)
{
writeFileStream.Write(buffer, 0, count);
}
writeFileStream.Close();
readFileStream.Close();
通过 FileInfo 打开文件流
FileInfo myFile1 = new FileInfo(@"E:\file.zip");
FileSream fis = myFile1.OpenRead();
FileInfo myFile2 = new FileInfo(@"E:\fileCopy.zip");
FileSream fos = myFile2.OpenWrite();
FileInfo myFile = new FileInfo(@"E:\file.zip");
FileSream fos = myFile.Open(FileMode.Append, FileAccess.Write, FileShare.None);
FileInfo myFile = new FileInfo(@"E:\file.zip");
FileSream fs = myFile.Create();
FileStream 文件流的关闭
使用完了一个流之后,一定要调用 fs.Close()
方法去关闭流,关闭流会释放与它相关联的资源,允许其他应用程序为同一个文件设置流。这个操作也会刷新缓冲区。