C#读写txt文件的两种方法

来源:互联网 发布:长图截屏软件 编辑:程序博客网 时间:2024/06/13 21:53

        由于项目需要,自己写了一个关于注册的Demo,用到了读写数据,因此没有过多的考虑,就之间放到数据库了,但在老师的提醒下,才发现这种方法弊端太多,因此,在网上找了一个读写txt文件的方法,自己研究了下,觉得可以,贴过来分享下。

  • 使用FileStream读写文件
读文件代码
// 文件头: using System;using System.Collections.Generic;using System.Text;using System.IO; // 读文件核心代码: byte[] byData = new byte[100];char[] charData = new char[1000]; try{FileStream sFile = new FileStream("文件路径",FileMode.Open);sFile.Seek(55, SeekOrigin.Begin);sFile.Read(byData, 0, 100); //第一个参数是被传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.}catch (IOException e){Console.WriteLine("An IO exception has been thrown!");Console.WriteLine(e.ToString());Console.ReadLine();return;}Decoder d = Encoding.UTF8.GetDecoder();d.GetChars(byData, 0, byData.Length, charData, 0);Console.WriteLine(charData);Console.ReadLine();
写文件代码
// 文件头: using System;using System.Collections.Generic;using System.Text;using System.IO;// 写文件核心代码: FileStream fs = new FileStream(文件路径,FileMode.Create);//获得字节数组byte [] data =new UTF8Encoding().GetBytes(String);//开始写入fs.Write(data,0,data.Length);//清空缓冲区、关闭流fs.Flush();fs.Close();
  • 使用StreamRead和StreamWrite读写文件
// 文件头: using System;using System.Collections.Generic;using System.Text;using System.IO;     // StreamReader读取文件:     StreamReader objReader = new StreamReader(文件路径);      string sLine="";      ArrayList LineList = new ArrayList();         while (sLine != null)      {        sLine = objReader.ReadLine();        if (sLine != null&&!sLine.Equals(""))          LineList.Add(sLine);      }            objReader.Close();            return LineList;   // StreamWriter写文件:   FileStream fs = new FileStream(文件路径, FileMode.Create);  StreamWriter sw = new StreamWriter(fs);  //开始写入  sw.Write(String);  //清空缓冲区  sw.Flush();  //关闭流  sw.Close();  fs.Close();
       转自:点击打开链接