读取.Dat文件

时间:2013-11-19 16:01:11

标签: c# console-application

您好我正在尝试阅读.Dat,我遇到了一些问题。

.Date文件数据的格式如下

62720 | |电话| 1000.17 | P | 31040.94 | 30154.88 | 250

我想做的是将每个项目存储在|之间分成单个字符串。

当我将输出运行到文本文件时,我将以下内容作为我的代码,每个char都在换行符上。 EG

6

2

7

2

0

我的代码如下

static void Main(string[] args)
    {
         StreamReader tbal  = new StreamReader("C:\\Users\\pbrady\\Desktop\\Code\\PNLSummary\\PNLSummary\\bin\\Debug\\tbal.dat", System.Text.Encoding.Default);
        string contents = tbal.ReadToEnd().Trim();
        string[] split = System.Text.RegularExpressions.Regex.Split(contents, "|", RegexOptions.None);
        Console.WriteLine("*****LOADING*****");
        foreach (string s in split)
        {
            using (StreamWriter writer = new StreamWriter("C:\\Users\\pbrady\\Desktop\\Code\\PNLSummary\\PNLSummary\\bin\\Debug\\Test.txt", true))
            {
                writer.WriteLine(s);
                Console.WriteLine(s);

            }
        }
        Console.WriteLine("*****Complete*****");
    }

2 个答案:

答案 0 :(得分:1)

试试这个。

static void Main(string[] args)
    {
        StreamReader tbal = new StreamReader("tbal.dat");
        string contents = tbal.ReadToEnd().Trim();
        string[] split = contents.Split('|');
        Console.WriteLine("*****LOADING*****");
        StreamWriter writer = new StreamWriter("Test.txt", true);
        foreach (string s in split)
        {
            writer.WriteLine(s);
            Console.WriteLine(s);
        }

        tbal.Close();
        writer.Close();
        Console.WriteLine("*****Complete*****");
    }

无需提供完整路径。这些文件将从您的应用程序的调试文件夹中创建和读取。

答案 1 :(得分:0)

        static void Main(string[] args)
        {
          String myfile= System.IO.File.ReadAllText("myfile.dat");
          String[] strWord = myfile.Split('|');
          using(System.IO.StreamWriter writer = new System.IO.StreamWriter("myfile.txt", true))
          {              
          foreach (string str in strWord)
              writer.WriteLine(str.Trim());
          }
        }