簡體   English   中英

C#寫入文件問題

[英]C# writing to file issue

我試圖從文本文件中加載一些內容,進行一些處理,然后將它們寫入C#中的新文本文件中。

請在下面查看我的代碼:

一切似乎都正常,我可以加載,編輯它們並將其保存到文本文件中。 但是,在保存它們的過程中,由於某種原因,它只是停止將它們保存到文本文件中,而while循環運行了,我可以知道這一點,因為我也在控制台中記錄了東西,並且一切都很好。 但是在某個點(例如80行之類)之后,它只是停止將新行添加到文件中。

任何想法?

提前致謝

        StreamReader SR;
        StreamWriter SW;
        string S;
        double temp1;
        double temp2;

        SR = File.OpenText("C:\...Address");
        SW = File.CreateText("C:\...Address");            

        S = SR.ReadLine();

        while (S!=null)
        {

            string[] words = S.Split(' ');

            //editing stuff

            SW.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            Console.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            S= SR.ReadLine();
        }

兩個可能的問題:

  • 目前尚不清楚涉及一個文件還是兩個文件。 您會發現很難讀取要寫入的同一文件
  • 您沒有關閉編寫器,這意味着它不會被刷新。 這很可能是問題所在-它肯定可以解釋症狀。

最好using語句處理第二個項目符號:

using (TextWriter writer = File.CreateText(...))
{
    // Code here
} // writer will automatically be disposed here

您也應該為讀者做同樣的事情。 就數據丟失而言,它的重要性不那么重要,但是一般而言,您應該處置任何實現IDisposable東西,通常是為了確定性地清理資源。

暫無
暫無

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

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