C# 基础(十二)C# 文本文件的读写、清零,将文本文件的内容读到字符串:主要应用在写日志

一、简介

文件较小时,采用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);

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值