1、使用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();
写文件核心代码:
FileStream fs = new FileStream(文件路径,FileMode.Create); //获得字节数组 byte [] data =new UTF8Encoding().GetBytes(String); //开始写入 fs.Write(data,0,data.Length); //清空缓冲区、关闭流 fs.Flush(); fs.Close();
2、使用StreamReader和StreamWriter
文件头:
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();
用C#读取.txt文件,常用 StreamReader sr = new StreamReader("TestFile.txt")///StreamReader sr = new StreamReader("TestFile.txt",Encoding.GetEncoding("GB2312")) ///GBK String line; while ((line = sr.ReadLine()) != null) { textBox1 .Text +=ii.ToString ()+" -"+line.ToString()+"\r\n";
} 加入引用:System.IO StreamReader objReader = new StreamReader("c:\\test.txt"); System.IO 命名空间中的对象,尤其是 System.IO.StreamReader 类。
\r\n一般一起用,用来表示键盘上的回车键.也可只用\n.\t表示键盘上的“TAB”键。
|
请发表评论