1 File的各种套路
2
3 //创建一个文件
4 //File.Create(@"C:\Users\SpringRain\Desktop\new.txt");
5 //Console.WriteLine("创建成功");
6 //删除一个文件
7 //File.Delete(@"C:\Users\SpringRain\Desktop\new.txt");
8 //Console.WriteLine("删除成功");
9
10 //复制一个文件
11 //File.Copy(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\new.txt");
12 //Console.WriteLine("复制成功");
13
14 //剪切
15 File.Move(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\newnew.txt");
16 Console.WriteLine("剪切成功");
17
18 //读取
19 byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\12333.wmv");
20 Console.ReadKey();
21 ////写入
22 //File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\new.wav", buffer);
23 //Console.WriteLine("复制成功");
24
25 //使用FileStream来读取数据
26 FileStream fsRead = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read);
27 byte[] buffer = new byte[1024 * 1024 * 5];
28 //3.8M 5M
29 //返回本次实际读取到的有效字节数
30 int r = fsRead.Read(buffer, 0, buffer.Length);
31 //将字节数组中每一个元素按照指定的编码格式解码成字符串
32 string s = Encoding.UTF8.GetString(buffer, 0, r);
33 //关闭流
34 fsRead.Close();
35 //释放流所占用的资源
36 fsRead.Dispose();
37 Console.WriteLine(s);
38 Console.ReadKey();
39
40
41 //使用FileStream来写入数据
42 //using (FileStream fsWrite = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Write))
43 //{
44 // string str = "看我游牧又把你覆盖掉";
45 // byte[] buffer = Encoding.UTF8.GetBytes(str);
46 // fsWrite.Write(buffer, 0, buffer.Length);
47 //}
48 //Console.WriteLine("写入OK");
49 //Console.ReadKey();
50
51 使用文件流来实现复制
52
53 //思路:就是先将要复制的多媒体文件读取出来,然后再写入到你指定的位置
54 string source = @"C:\Users\SpringRain\Desktop\1、复习.wmv";
55 string target = @"C:\Users\SpringRain\Desktop\new.wmv";
56 CopyFile(source, target);
57 Console.WriteLine("复制成功");
58 Console.ReadKey();
59
60
61
62 public static void CopyFile(string soucre, string target)
63 {
64 //1、我们创建一个负责读取的流
65 using (FileStream fsRead = new FileStream(soucre, FileMode.Open, FileAccess.Read))
66 {
67 //2、创建一个负责写入的流
68 using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
69 {
70 byte[] buffer = new byte[1024 * 1024 * 5];
71 //因为文件可能会比较大,所以我们在读取的时候 应该通过一个循环去读取
72 while (true)
73 {
74 //返回本次读取实际读取到的字节数
75 int r = fsRead.Read(buffer, 0, buffer.Length);
76 //如果返回一个0,也就意味什么都没有读取到,读取完了
77 if (r == 0)
78 {
79 break;
80 }
81 fsWrite.Write(buffer, 0, r);
82 }
83
84
85 }
86 }
87 }
88
89
90 //使用StreamReader来读取一个文本文件
91 using (StreamReader sr = new StreamReader(@"C:\Users\SpringRain\Desktop\抽象类特点.txt", Encoding.Default))
92 {
93 while (!sr.EndOfStream)
94 {
95 Console.WriteLine(sr.ReadLine());
96 }
97 }
98
99
100 //使用StreamWriter来写入一个文本文件
101 using (StreamWriter sw = new StreamWriter(@"C:\Users\SpringRain\Desktop\newnew.txt",true))
102 {
103 sw.Write("看我有木有把你覆盖掉");
104 }
105 Console.WriteLine("OK");
106 Console.ReadKey();