C# 读写Txt文件
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace CommonLib { /// <summary> /// 文件的读写 /// </summary> public class FileHelper { /// <summary> /// 使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 /// </summary> public void Read() { try { byte[] byData = new byte[100]; char[] charData = new char[1000]; FileStream file = new FileStream("E:\\test.txt", FileMode.Open); file.Seek(0, SeekOrigin.Begin); file.Read(byData, 0, 100); //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符. Decoder d = Encoding.Default.GetDecoder(); d.GetChars(byData, 0, byData.Length, charData, 0); Console.WriteLine(charData); file.Close(); } catch (IOException e) { Console.WriteLine(e.ToString()); } } /// <summary> /// 使用StreamReader读取文件,然后一行一行的输出 /// </summary> /// <param name="path"></param> public void Read(string path) { StreamReader sr = new StreamReader(path, Encoding.Default); String line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line.ToString()); } } /// <summary> /// 使用FileStream类创建文件,然后将数据写入到文件里 /// </summary> public void Write() { FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create); //获得字节数组 byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!"); //开始写入 fs.Write(data, 0, data.Length); //清空缓冲区、关闭流 fs.Flush(); fs.Close(); } /// <summary> /// 使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件 /// </summary> /// <param name="path"></param> public void Write(string path) { FileStream fs = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(fs); //开始写入 sw.Write("Hello World!!!!"); //清空缓冲区 sw.Flush(); //关闭流 sw.Close(); fs.Close(); } } }