使用C#打开txt文件并读取文件中的数字

时间:2015-10-20 15:31:21

标签: c#

如何打开.txt文件并将输入或空格分隔的数字读入数组列表?

示例:

现在我要做的是搜索(1 2 9)并发送到控制台。

我尝试了很多代码,但似乎没有任何工作:(

这是我目前的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Padroes
{
class Program
{
    static void Main(string[] args)
    {
        try
        {


            // Open the text file using a stream reader.
            const string FILENAME = @"Example.txt";


                List<List<int>> data = new List<List<int>>();

                string inputLine = "";
                StreamReader reader = new StreamReader(FILENAME);

                while ((inputLine = reader.ReadLine()) != null)
                {
                    inputLine = inputLine.Trim();
                    if (inputLine.Length > 0)
                    {
                        List<int> inputArray = inputLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToList();

                        data.Add(inputArray);
                    Console.WriteLine(inputLine);
                    }
                }
            }

        catch (Exception e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }

        Console.ReadKey();
    }
}
}

使用此代码,这是我的输出:

现在我该怎么做才能搜索(1 2 9)并仅将1 2 9发送到控制台?

2 个答案:

答案 0 :(得分:0)

我相信这会有诀窍..我只是使用StreamReader并循环通过每一行..我不确定我是否100%获得条件的一部分,但如果我这样做应该看起来像这个:

      StreamReader file = new StreamReader(@"test.txt");
      string line= file.ReadLine();
        while(line!=null)
        {
            if (line.Equals("5 8 1 7"))
                MessageBox.Show(line);
               line = file.ReadLine();
        }

古德勒克。

答案 1 :(得分:0)

试试这个

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

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.txt";
        static void Main(string[] args)
        {
            List<List<int>> data = new List<List<int>>();

            string inputLine = "";
            StreamReader reader = new StreamReader(FILENAME);

            while((inputLine = reader.ReadLine()) != null)
            {
                inputLine = inputLine.Trim();
                if (inputLine.Length > 0)
                {
                    List<int> inputArray = inputLine.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToList();

                    data.Add(inputArray);
                }
            }
        }
    }
}
​