如果是操作文本文件类型
推荐使用: StreamReader、StreamWriter
示例:StreamWriter 用于写入,可以使用 WriteLine(xxx) 函数将内容写入指定文件当中
1 try
2 {
3 //StreamWriter用于将内容写入文本文件中
4 //path: 要写入文件的路径
5 //append: true 将数据追加到该文件的末尾; false 覆盖该文件。
6 //Encoding.UTF8 写入的编码格式
7 //如果指定的文件不存在,构造函数将创建一个新文件。
8 using (StreamWriter sw = new StreamWriter(@"D:\aaa.txt", true, Encoding.UTF8))
9 {
10 sw.WriteLine("我是老大");
11 sw.WriteLine("我是老三");
12 sw.WriteLine("我是老四");
13 sw.WriteLine("我是老五");
14 sw.Close();
15 }
16 Console.WriteLine("写入成功了。。。");
17 }
18 catch (Exception ex)
19 {
20 Console.WriteLine(ex.Message);
21 }
如果文件不存在,会自动创建。

StreamReader 用于读取,ReadLine 表示一行行读取,还有其他读取方法,具体到程序集查看即可
1 //StreamReader用法
2 try
3 {
4 using (StreamReader sr = new StreamReader(@"D:\aaa.txt", Encoding.UTF8))
5 {
6 while (true)
7 {
8 var str = sr.ReadLine(); //一行行的读取
9 if (str == null) //读到最后会返回null
10 {
11 break;
12 }
13 Console.WriteLine(str);
14 }
15 sr.Close();
16 }
17 Console.WriteLine("读取结束了。。。");
18 }
19 catch (Exception ex)
20 {
21 Console.WriteLine(ex.Message);
22 }
如果是操作 其他类型的文件(包括文本文件),可以使用 FileStream,
比如我们操作一张图片文件
1 //FileStream 用法 读取文件
2 try
3 {
4 //FileMode.OpenOrCreate 表示文件不存在,会创建一个新文件,存在会打开
5 using (Stream fs = new FileStream(@"D:\123.jpg", FileMode.OpenOrCreate))
6 {
7 byte[] bt = new byte[fs.Length]; //声明存放字节的数组
8 while (true)
9 {
10 var num = fs.Read(bt, 0, bt.Length); //将流以byte形式读取到byte[]中
11 if (num <= 0)
12 {
13 break;
14 }
15 }
16 fs.Close();
17
18
19 //将 123.jpg 文件中读到byte[]中,然后写入到 456.jpg
20 //FileAccess.ReadWrite 表示支持读和写操作
21 using (Stream fs2 = new FileStream(@"D:\456.jpg", FileMode.OpenOrCreate, FileAccess.ReadWrite))
22 {
23 //设置字节流的追加位置从文件的末尾开始,如果文件不存在,只默认0开始
24 fs2.Position = fs2.Length;
25
26 //将待写入内容追加到文件末尾
27 fs2.Write(bt, 0, bt.Length);
28
29 //关闭
30 fs2.Close();
31 }
32 }
33 }
34 catch (Exception ex)
35 {
36 Console.WriteLine(ex.Message);
37 }
生成效果如下
作者:PeterZhang
出处:https://www.cnblogs.com/peterzhang123
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。