FileStream对文本进行读写操作

mac2022-06-30  82

class FileHelper { /// <summary> /// 检验文件路径是否合法 /// </summary> /// <param name="path">文件路径</param> private static bool CheckPath(string path) { //正确格式:C:\Users\jcx\Desktop\Test.txt string pattern = @"\w{1}:([\\].+)*.+\.\w{3,}"; Regex rg = new Regex(pattern); return rg.IsMatch(path); } /// <summary> /// 创建一个新的文本文件 /// </summary> /// <param name="path">文件路径</param> /// <param name="content">写入到文本的内容</param> public static void CreateNewTxtFile(string path,string content) { if (!CheckPath(path)) { throw new Exception("文件路径不合法"); } //存在则删除 if (File.Exists(path)) { File.Delete(path); } using (FileStream fs=new FileStream (path,FileMode.CreateNew,FileAccess.Write)) { byte[] bt = Encoding.Default.GetBytes(content); fs.Write(bt,0,bt.Length); } //using } /// <summary> /// 读取文本文件 /// </summary> /// <param name="path">文件路径</param> /// <param name="readByte">指定每次读取字节数</param> /// <returns>读取的全部文本内容</returns> public static string ReadTxtFile(string path,long readByte) { if (!CheckPath(path)) { throw new Exception("文件路径不合法"); } StringBuilder result = new StringBuilder(); using (FileStream fs=new FileStream (path,FileMode.Open,FileAccess.Read)) { byte[] bt = new byte[readByte]; while (fs.Read(bt,0,bt.Length)>0) //每次只从文件中读取部分字节数,一点点读 { string txt = Encoding.Default.GetString(bt); //解码转换成字符串 result.AppendLine(txt); } } //using return result.ToString(); } } class Program { static void Main(string[] args) { string path = @"C:\Users\jcx\Desktop\Test.txt"; FileHelper.CreateNewTxtFile(path, "好好努力"); string r = FileHelper.ReadTxtFile(path,2); //2个字节为一个汉字,一个汉字一个汉字的读 Console.WriteLine(r); } // Main }

 

转载于:https://www.cnblogs.com/green-jcx/p/9425460.html

相关资源:C# FileStream 追加写入字符串到文本中
最新回复(0)