C# 将.txt配置文件读入字符串?

C# 将.txt配置文件读入字符串?,c#,arrays,string,readfile,delete-file,C#,Arrays,String,Readfile,Delete File,我现在不得不尝试创建一种内务管理实用程序,我们可以设置要运行的预定任务 我已经将其硬编码为从特定文件夹中删除,它会删除所有超过7天的内容 我希望有一些灵活性,这样我就不必每次找到一个新的目录时都创建一个新的程序 我想要一个包含两行的configuration.txt文件,一行是查找和删除文件的目录,另一行是早于:x天的文件 我可以很好地阅读文件,只是不确定如何从文本文件创建字符串 下面是我目前的工作计划,它是非常基本的东西 var files = new DirectoryInfo(@"

我现在不得不尝试创建一种内务管理实用程序,我们可以设置要运行的预定任务

我已经将其硬编码为从特定文件夹中删除,它会删除所有超过7天的内容

我希望有一些灵活性,这样我就不必每次找到一个新的目录时都创建一个新的程序

我想要一个包含两行的configuration.txt文件,一行是查找和删除文件的目录,另一行是早于:x天的文件

我可以很好地阅读文件,只是不确定如何从文本文件创建字符串

下面是我目前的工作计划,它是非常基本的东西

var files = new DirectoryInfo(@"c:\log").GetFiles("*.log")
foreach (var file in files)
{
    if (DateTime.UtcNow - file.CreationTimeUtc > TimeSpan.FromDays(7))
    {
        File.Delete(file.FullName);

更多的信息会很好,但是像这样的东西例如:

// Read file lines as strings
string[] lines = System.IO.File.ReadAllLines(@"C:\path\to\file.txt");
foreach (string line in lines) 
{
    string[] segs = s.Split('\t');
    string filename = segs[0];
    string age = segs[1];
    // call the relevant function for deleting files
    doDeletion(filename, age);
}
这是假设您的文件具有以下格式:

foldername1    7
foldername2    14
其中文件夹名称和期限之间的间距为制表符

编辑: 现在注意到这个问题是针对一个文件的,该文件的行是foldername,后跟一行是age。。。在这种情况下,这将起到以下作用:

string[] lines = System.IO.File.ReadAllLines(@"C:\path\to\file.txt");
if (lines.Length >= 2) 
{
    string filename = lines[0];
    string age = lines[1];
    doDeletion(filename, age);
}

如果您希望它像现在这样简单:使用命令行参数

class Program
{
    static void Main(string[] args)
    {
        string path;
        int days;

        if( args.Length < 2 ) return; 
        // ^^ You might want to throw some exception.
        // Or print a "Usage" string.

        path = args[0];
        // TODO: validate path, bail out if invalid

        if( !int.TryParse(args[1], out days) )
        {
             // handle parse error
        }
        // TODO: validate parsed value. I guess it shouldn't be negative or 0.

        DoYourThing( path, days );
    }
}
ConfigModel.cs

public class ConfigModel
{
    public Item[] Items {get; set;}
}

public class Item
{
    public string Path {get; set;}
    public int Days {get; set;}
}
请阅读:

var config = System.Text.Json.JsonSerializer.Deserialize<ConfigModel>(File.ReadAllText(@".\config.json"));

显示计划内容的外观,并显示您当前如何读取文件!为什么不使用
app.config
这是否回答了您的问题@拉塞夫·卡尔森:我在回答中提出了这一点;)我从之前的页面开始:(我按住ctrl键并单击了一堆问题,然后进入会议:)回答得好:)
foreach( var item in config.Items )
{
    DoYourThing(item.Path, item.Days);
}