c#文件读取和写入的方式总结


1.使用FIleStream(它存储或者读取都是用BYTE数组或者是BYTE)

      1.1文件写入部分:

                                    string path = "C:\\test.txt";
                            
                            if (File.Exists(path))      ///如果文件存在,那么删除文件 

                                     File.Delete(path);

                            FileStream fs = File.Open(path, FileMode.Create);         ///这里第二个表示如果文件不存在,则重新建立一个新的
                            ///FileStream fs = File.Open(path, FileMode.Append);  ///如果要追加内容时用这个

                          

                            fs.Write(bs, 0, bs.Length);                     ///这里的bs是一个数组byte[]
                      
                            fs.Close();

 

     1.2文件读取部分:

                   string str = "C:\\test.txt";
                        if (!File.Exists(str))     ///检测文件是否存在
                           {
                                       MessageBox.Show("文件不存在,请查看客户端是否已经上传数据!");
                           }
                       else
                          {   
                                 FileStream fop = File.OpenRead(str);
                                 byte[] arr = new byte[1000];
                                 while (fop.Read(arr, 0, arr.Length) > 0)    ///这个循环会将文件所有的内容都读取出来
                                  {
                                  ClientSocket[1].Send(arr, 0, arr.Length,0);
                                  }
                                 fop.Close();
                             }

 

2.StreamWriter和StreamReader(操作对象是字符或者字符串)

       2.1文件读取部分:

                string path="C:\\TEST.txt";

                string st = "";
               if (!File.Exists(path))
                    MessageBox.Show("文件不存在,请先新建一个!");
              else
                  {  

                      byte[] b=new byte[10];
                      StreamReader sr = new StreamReader(path);
                      while ((st = sr.ReadLine()) != null)
                           {
                              tb.AppendText(st);
                             MessageBox.Show(st);
                          }
                     sr.Close();
                
                 }

 

       2.2文件写入部分

             if (File.Exists(path))
                        File.Delete(path);
              StreamWriter sw = new StreamWriter(path,true);  /// true表示文件存在就将内容加在后面,false表示覆盖内容
              sw.Write("today is a good day!");
              sw.Close();

 

3.使用binaryreader和binarywriter进行文件读写操作(可以对任何基本数据类型进行操作)

              binaryreader提供了readstring,readbyte,readboolean,readint,readdouble等方法来读取不同类型的数据,而binarywriter则提供write()方法将各种不同类型的值写入当前流(也就是write方法的参数可以是任何基本数据类型)。下面以存储和读取double类型的数据来举例。

     3.1 binarywrite写入数据

                                FileStream fs=File.Create(path1);
                        BinaryWriter bw = new BinaryWriter(fs);
                        bw.Write(100.123);
                        bw.Write(200.524);
                        bw.Close();
                        fs.Close();

     3.2 binaryreader读取数据

                               FileStream fs1 = new FileStream(path1, FileMode.Open);
                       BinaryReader br = new BinaryReader(fs1);
                       Console.WriteLine("{0}",br.ReadDouble());
                       Console.WriteLine("{0}", br.ReadDouble());
                       br.Close();
                       fs.Close();

你可能感兴趣的:(c#文件读取和写入的方式总结)