一、简介
文件较小时,采用File类、FileStream类来读写。
文件较大时,主要采用StreamWriter类来读写
https://blog.csdn.net/andrewniu/article/details/79128745
https://www.cnblogs.com/nicewe/p/8616261.html
写日志:
方法1:最简单的方法
方法2:微软的日志类
private static readonly Logger log = LogManager.GetLogger("KeenRayLogger");
二、文本清零
方法一:利用File写空值到文本。
System.IO.File.WriteAllText(@"c:\test.txt", string.Empty);
方法二:利用FileStream 写空值到文本。
FileStream fs = new FileStream(Environment.CurrentDirectory + "\\FaceRecognition" + "\\FaceRecognition.txt", FileMode.Open, FileAccess.Write);
fs.Seek(0, SeekOrigin.Begin);//文本的起点
fs.SetLength(0);//从起点写入0个值
fs.Close(); ;
三、写文本
方法1:字符串转成字节后,用FileStream写进文本。
FileStream fs = new FileStream(Environment.CurrentDirectory + "\\FaceRecognition" + "\\FaceRecognition.txt", FileMode.Create);
//获得字节数组
byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!");
//开始写入
fs.Write(data, 0, data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
方法2:用FileStream创建文件,然后用StreamWriter 将字符串写入到该文件。
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
w.Write("Hello World!!!!");
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
在文本末尾附加等等,请参考https://www.cnblogs.com/waitingfor/articles/3373971.html
string strFilePath = Server.MapPath("log/log_200807_1.txt");
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, System.IO.FileMode.Append);
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs, System.Text.Encoding.Default);
sw.WriteLine("'" + DateTime.Now.ToString() + "'/t'zhangsan'/t'Login.aspx'/t'登录A'");
sw.Close();
fs.Close();
四、读文本
方法一:利用File读文本。
#region 文件的读写
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Messaging;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
#region 读文本文件
//1、常规的读法
string str1 = File.ReadAllText(@"C:\Users\lanmage2\Desktop\新建文本文档.txt");
Console.WriteLine(str1);
//2、编码方式的读法
string str2 = File.ReadAllText(@"C:\Users\lanmage2\Desktop\新建文本文档.txt", Encoding.ASCII);
string str3 = File.ReadAllText(@"C:\Users\lanmage2\Desktop\新建文本文档.txt", Encoding.Default);//Default才能正确读写中午
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadLine();
#endregion
}
}
}
#endregion
方法2:利用FileStream读到字节,然后字节再转成字符串
FileStream fs = new FileStream(strPathTxt, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
byte[] bytStartMainAccessFlag = new byte[1] { 0 };
fs.Read(bytStartMainAccessFlag,0,1);//将文件流读到字节中。
strStartMain = System.Text.Encoding.Default.GetString(bytStartMainAccessFlag);