C#编写读写文件

2019-01-02 21:03发布

问题:

编写一个可以读一个文件夹里的所有TXT文件,然后改TXT里的某个固定词,把改了的TXT文件名写到另一个文件里

回答1:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
listDirectory(@"C:\Doc");

    }
    static void listDirectory(string path)
    {
        DirectoryInfo root = new DirectoryInfo(path);
        //遍历文件
        foreach (FileInfo NextFile in root.GetFiles())
        {
            if (NextFile.Extension == ".txt")
            {
                StreamReader sr = new StreamReader(NextFile.FullName, Encoding.Default);
                string content = content = sr.ReadToEnd();
                var newcontent = content.Replace('a', 'b');  //替换固定词

                string filePath = NextFile.DirectoryName + "\\" + Guid.NewGuid().ToString() + ".txt"; //写入新文件
                if (File.Exists(filePath))
                    File.Delete(filePath);

                FileStream fs = new FileStream(filePath, FileMode.Create);
                //获得字节数组
                byte[] data = System.Text.Encoding.Default.GetBytes(newcontent);
                //开始写入
                fs.Write(data, 0, data.Length);
                //清空缓冲区、关闭流
                fs.Flush();
                fs.Close();
            }

        }

        //遍历文件夹
        foreach (DirectoryInfo NextFolder in root.GetDirectories())
        {
            listDirectory(NextFolder.FullName);
        }
    }
}

}



回答2:

1、把原文件内容读取出来
2、用正则表达式替换
3、替换后的写入到一个新的文本文件即可



回答3:

百度关键字:C# 读 写 txt



标签: