Re: [問題] 如何修改.txt檔?

看板C_Sharp (C#)作者 (Free Myself?!)時間13年前 (2011/12/04 00:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
telnet 好難排版 貼到vs 在 ctrlKD參考看看吧 OpenFileDialog ofd = new OpenFileDialog() if (ofd.ShowDialog() == DialogResult.OK) { StreamReader SReader = new StreamReader(ofd.FileName, System.Text.Encoding.Default); string input = null; List<string> oData = new List<string>(); int columnCount = 0; int rowCount = 0; StreamWriter SWriter = new StreamWriter(@"C:\test.txt"); while ((input = SReader.ReadLine()) != null)//一行一行讀進去。 { if(!input.Contains("<BODY>")) //不是data直接寫檔 SWriter.WriteLine(input); // 寫入文字 if (input.Contains("<ROW_COUNT>")) //抓列數 { input = input.Replace("<ROW_COUNT>","").Replace( "</ROW_COUNT>","").Trim(); rowCount = int.Parse(input); } if (input.Contains("<COLUMN_COUNT>")) //抓行數 { input = input.Replace("<COLUMN_COUNT>","").Replace("</COLUMN_COUNT>","").Trim(); columnCount = int.Parse(input); } if (input.Contains("<BODY>")) { input = input.Replace("<BODY>","").Replace( "</BODY></DATA>","").Trim(); for (int i = 0; i < rowCount; i++) { SWriter.WriteLine(input.Substring(columnCount * i, columnCount)); } SWriter.WriteLine("</BODY></DATA>"); } } SWriter.Close(); // 關閉串流 SReader.Close(); } ※ 引述《don750421 (1+1≠2)》之銘言: : 最近朋友手上有個麻煩的東西,看似完整但好像也不完全是這樣 : 它會有個.txt檔,裡面寫的語法很是xml,以下是我擷取一部分的文字 : http://www.mediafire.com/?fb66c75lnblyzph : 從.txt檔的內容中可以看出實際上的格式 : <ROW_COUNT> 7 </ROW_COUNT> <==7行 : <COLUMN_COUNT> 10 </COLUMN_COUNT> <==10列 : 但是,從檔案內看到的<BODY>內容是一整串的 : 如今,如果我想要把<BODY>的內容整理後再存成另一個檔案 : 希望將原先的<BODY>內容整理成以下這樣,但是上面的那些Label仍然不變 : <BODY> : ADSVFURHNV : OPWGHPONEO : PRHGTPONGO : WTHGOPWTNV : WOPUGHPOQM : FVHNQEUIRV : REJGIEHRJO : </BODY></DATA> : 請問一下,我該如何寫呢? : 我的方向有二, : 一個是把.txt檔內的資料讀出來放入array或陣列中,再依照COLUMN_COUNT去放 : 每行的字元數 : 還是說可以再讀的時候就將檔案內的<BODY>做斷行的動作,而不需要再讀出來呢? : 麻煩各位先進指教,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.205.26.241
文章代碼(AID): #1EsaaUJM (C_Sharp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1EsaaUJM (C_Sharp)