首页 > 代码库 > 01.使用File类读写文件

01.使用File类读写文件

使用File类去读数据:
方法一:使用ReadAllBytes(); 方法
  1. namespace _01.使用File类读写数据01
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string path = @"C:\Users\zyj\Desktop\.NET base\0505.Net基础班第十二天\抽象类特点.txt";
  8. byte[] b1=File.ReadAllBytes(path);
  9. //我们将读取的到的字节数组数据转换成字符串
  10. string str1=Encoding.Default.GetString(b1);
  11. Console.WriteLine(str1);
  12. Console.ReadKey();
  13. }
  14. }
  15. }
方法二:  使用ReadAllLines();方法
  1. namespace _02.使用File类读写数据02
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string path1= @"C:\Users\zyj\Desktop\.NET base\0505.Net基础班第十二天\抽象类特点.txt"; ;
  8. string[] str1=File.ReadAllLines(path1,Encoding.Default);
  9. foreach (var item in str1)
  10. {
  11. Console.WriteLine(item);
  12. }
  13. Console.ReadKey();
  14. }
  15. }
  16. }
方法三:  使用ReadAllText();方法
  1. namespace _03.使用File类读写数据03
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string path1= @"C:\Users\zyj\Desktop\.NET base\0505.Net基础班第十二天\抽象类特点.txt";
  8. string str1=File.ReadAllText(path1,Encoding.Default);
  9. Console.WriteLine(str1);
  10. Console.ReadKey();
  11. }
  12. }
  13. }

那么这个时候,问题来了,这三种方法我们各在什么时候使用呢?
ReadAllText()和ReadAllLines(),这两个方法只能读取文本文件.
当我们读取的不是文本文件,而是多媒体文件,比如音乐文件,视频文件,图片文件等文件的时候,我们就需要用ReadAllBytes();方法去读取.

使用File类去写数据:
方法一:使用WriteAllBytes();方法
  1. namespace _04.使用File类去写数据01
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string byStr = "这是以WriteAllBytes();方法的方式即将要写入的数据";
  8. char[] cArray=byStr.ToCharArray(); //将此字符串转换成字符数组
  9. byte[] byArray=Encoding.Default.GetBytes(cArray); //将字符数组转换成字节数组
  10. File.WriteAllBytes("01建立了一个写入文件.txt", byArray);
  11. Console.WriteLine("写入成功");
  12. Console.ReadKey();
  13. }
  14. }
  15. }
方法二:使用writeAllLines();方法
  1. namespace _05.使用File类去写数据02
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string str = "日照香炉升紫烟,遥看瀑布挂前川,飞流直下三千尺,疑是银河落九天";
  8. string[] strArray = str.Split(new char[] { ‘,‘ });
  9. File.WriteAllLines("02建立了一个写入文件.txt", strArray,Encoding.Default);
  10. Console.WriteLine("写入成功");
  11. Console.ReadKey();
  12. }
  13. }
  14. }
方法三:使用writeAllText();方法
  1. namespace _06.使用File类去写数据03
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string str = "这句话将会被我用writeText()方法写入到文本文件中.";
  8. File.WriteAllText("03建立一个写入文件.txt", str,Encoding.Default);
  9. Console.WriteLine("写入成功");
  10. Console.ReadKey();
  11. }
  12. }
  13. }

使用File类去追加数据:
方法一:使用AppendAllText();方法
  1. namespace _07.使用File类去追加数据01
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. File.AppendAllText("会被追加数据的文件.txt", "看我有没有被追加进去", Encoding.Default);
  8. Console.WriteLine("文件追加成功");
  9. Console.ReadKey();
  10. }
  11. }
  12. }
方法二:使用AppendText();方法
  1. namespace _08.使用File类去追加数据02
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. File.AppendText("追加一个的一个文件.txt");
  8. Console.WriteLine("添加追加的文件成功");
  9. Console.ReadKey();
  10. }
  11. }
  12. }



绝对路径和相对路径:
绝对路径:通过给定的这个路径直接能在我的电脑中,找到这个文件.
相对路径:文件相对于应用程序的路径.  (在C#中在debug路径下的文件就是相对路径,即可执行文件同一目录下).
我们在开发当中应该尽量去使用相对路径

File类的优缺点:
优点:
它可以读写任意类型的文件.
缺点:
File类只能读取小文件,因为它一次将要读写的文件,全部读取,或者写入.这样是不好的.



来自为知笔记(Wiz)


01.使用File类读写文件