簡體   English   中英

C#如何刪除我的文本文件的第一行?

[英]C# How to delete the first line of my text files?

我想在Visual Studio中創建一個Windows窗體應用程序,它在按鈕單擊時寫入文本文件。

我有一個包含的txt文件(例如test.txt)

AAAA
BBBB
CCCC
DDDD
EOS
FFFF
GGGG
HHHH
IIII
EOS
JJJJ
KKKK
LLLL
MMMM
NNNN
EOS
EOF

然后我想把它拆分成其他一些txt文件

**bag1.txt**
AAAA
BBBB
CCCC
DDDD
EOS

**bag2.txt**
EEEE
FFFF
GGGG
IIII
EOS

**bag3.txt**
JJJJ
KKKK
LLLL
MMMM
NNNN
EOS
EOF

這些是代碼,

private void read3btn_Click(object sender, EventArgs e)
    {
        string fileName = textBox1.Text;
        TextReader sr = new StreamReader(fileName);
          //This allows you to do one Read operation.

        string s = sr.ReadToEnd();;
        sr.Close();

        string[] bags = s.Split(new string[] {"EOS"}, StringSplitOptions.None);

        // This will give you an array of strings (minus the EOS field)
        // Then write the files...

        System.IO.File.WriteAllText(@"D:\Program-program\tesfile\bag1.txt", bags[0] + "EOS");  //< -- Add this you need the EOS at the end field the field

        System.IO.File.WriteAllText(@"D:\Program-program\tesfile\bag2.txt", bags[1] + "EOS");

        System.IO.File.WriteAllText(@"D:\Program-program\tesfile\bag3.txt", bags[2] + "EOS" + bags[3]);

   }}

然后輸出就是這樣的

**bag1.txt**
    AAAA
    BBBB
    CCCC
    DDDD
    EOS

**bag2.txt**

EEEE
FFFF
GGGG
IIII
EOS

**bag3.txt**

JJJJ
KKKK
LLLL
MMMM
NNNN
EOS
EOF

不幸的是,行李[1]和行李[2]的輸出在第一行有一個空白行,是否還有更新代碼?

您的"EOS"分隔符不包含換行符。 嘗試:

string[] bags = s.Split(new string[] {"EOS\n"}, StringSplitOptions.None);

你的輸入文件是

...DDDD\nEOS\nEEEE\n...

在拆分代碼后,您會得到:

...DDDD\n  EOS  \nEEEE\n...

注意EEEE之前的領先\\n 通過在分隔符中包含\\n ,您將獲得:

...DDDD\n  EOS\n  EEEE\n...

調用.Trim()刪除前導空格。

好吧,這不是一個大問題:)當你讀到你的文件時,你得到一個像“AAA \\ nBBB \\ nCCC \\ nDDD \\ nEOS \\ nEEE \\ nFFF \\ n ... EOS \\ nJJJ \\ n ......”這樣的字符串。僅在“EOS”上修剪字符串,你得到這個:

“AAA \\ nBBB \\ nCCC \\ nDDD \\ n”“\\ nEEE \\ nFFF \\ n ...”“”\\ nJJJ ......“

因為Split()方法刪除了“EOS”字符串,而不是它所遵循的新行:)

string[] bags = s.Split(new string[] {"EOS\n"}, StringSplitOptions.None);

..這應該工作正常:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM