如何使我的程序从文本文件中读取一行?

时间:2019-01-02 20:44:58

标签: c#

我正在做一个帐户检查器,我不知道如何使我的程序接受用户输入。我希望用户以某个名称创建一个.txt文件,然后程序应该从该文件中读取一行并在其中使用我程序的某些区域(在代码中可以看到位置)。

我制作的程序是一个我的世界名称检查器,它想告诉用户是否可以使用某些名称。以前,我在网上搜索了我的问题的解决方法,但是没有运气:(

class Program
{
    static Regex Availability = new Regex(@"<div class=""col-lg-5 text-center my-1""><div class=""row no-gutters align-items-center""><div class=""col-sm-6 my-1""><div><strong>Status</strong></div><div>(.+?)</div></div>");

    static void Main(string[] args)
    {
        args = new[]
        {
            "https://namemc.com/search?q=(Line from txt file)"
        };

        using (var client = new WebClient())
        {
            var content = ScrubContent(client.DownloadString(args[0]));

            var available = Availability.Matches(content).Cast<Match>().Single().Groups[1];

            Console.WriteLine("The name (line from txt file) is {0}", available);
        }
    }

    static string ScrubContent(string content)
    {
        return new string(content.Where(c => c != '\n').ToArray());
    }
}

可以说我们.txt文件的第一行是应该在牛仔裤控制台上打印

  

牛仔裤不可用

但是例如现在我文件的第一行是可用的,应该打印9控制台

  

availablename9名称可用

2 个答案:

答案 0 :(得分:1)

如果您知道文件将很小,那么可以使用一个方便的“文件”类来获取特定文件的所有行,并检索第一个文件。看起来像这样:

BigDecimal

如果文件将变大,则使用StreamReader并逐行进行1到1行将具有更高的内存效率,但这对于您的目的应该可以正常工作。

答案 1 :(得分:0)

 string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");

仅供参考,

static string ScrubContent(string content)
{
    return content.Split('\n')[0];
}