在.net中有很多有用的类库来读写硬盘上的文件 一般比较常用的有:
File:1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用
2.不同的方式可以读写文件类型不一样。
ReadAllBytes() WriteAllByte():可以读写任意类型的文件 (里面封装的是FileStream)
ReadAllLines() ReadAllText():(里面封装是StreamWriter,StreamReader),只能读写文本类型文件
FileStream:
1.当读写大文件的时候使用,它可以自定义读写的数组大小
2.一个流只能做一个事情:如果需要读和写那么就需要创建两个流
3.读取:将数据读取到数组 写入是将数组的数据再写入到文件(类型转换)
使用FileStream类的读写一部电影例子代码:
1 //读取 2 using (FileStream fsRead = new FileStream(@"F:苍老师.avi", FileMode.Open)) 3 { 4 using (FileStream fsWrite = new FileStream(@"d:学习.avi", FileMode.Create)) 5 { 6 //自定义数组的长度 7 byte[] bytes = new byte[1024]; 8 //当没有读取到文件的末尾的时候就需要循环读取 9 while (fsRead.Position < fsRead.Length) 10 { 11 //读取的时候position属性会自动变化,记住当前读取到的位置,以字节为单位 12 //count可以获取当前具体读取到的字节数 13 int count = fsRead.Read(bytes, 0, bytes.Length); 14 if (count == 0) 15 { 16 break; 17 } 18 //写入 19 fsWrite.Write(bytes, 0, count); //只需要写入读取到的字节数就可以了 20 } 21 } 22 MessageBox.Show("ok"); 23 }
StreamReader/StreamWrite:
1.只能对文本文件进行读写操作
2.它可以按行进行读取和写入