程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual C# .NET入門(5)

Visual C# .NET入門(5)

編輯:關於C語言

步驟 6. 文件輸入/輸出

現在,讓我們來實現讀取輸入文件和寫入輸出文件。我們將每一行讀取到一個字符串數組中,然後輸出該字符串數組。在下一步中,我們將使用 QuickSort 算法來對該數組進行排序。

修改源代碼

更改 C# 源文件 (class1.cs),如下面以斜體突出顯示的代碼所示。其他的差異(如類名)可忽略不計。

// Import namespaces
using System;
using System.Collections;
using System.IO;
// Declare namespace
namespace MsdnAA
{
  // Declare application class
  class QuickSortApp
  {
    // Application initialization
    static void Main (string[] szArgs)
    {
      ... ... ...
      // Read contents of source file
      string szSrcLine;
      ArrayList szContents = new ArrayList ();
      FileStream fsInput = new FileStream (szSrcFile, FileMode.Open,
        FileAccess.Read);
      StreamReader srInput = new StreamReader (fsInput);
      while ((szSrcLine = srInput.ReadLine ()) != null)
      {
        // Append to array
        szContents.Add (szSrcLine);
      }
      srInput.Close ();
      fsInput.Close ();
      // TODO: Pass to QuickSort function
      // Write sorted lines
      FileStream fsOutput = new FileStream (szDestFile,
        FileMode.Create, FileAccess.Write);
      StreamWriter srOutput = new StreamWriter (fsOutput);
      for (int nIndex = 0; nIndex < szContents.Count; nIndex++)
      {
        // Write line to output file
        srOutput.WriteLine (szContents[nIndex]);
      }
      srOutput.Close ();
      fsOutput.Close ();
      // Report program success
      Console.WriteLine ("\nThe sorted lines have been written.\n\n");
    }
  }
}

從源文件進行讀取

使用 FileStream 類打開源文件,然後加入 StreamReader 類,這樣我們就可以使用它的 ReadLine() 方法了。現在,我們調用 ReadLine() 方法,直到它返回 null,這表示到達文件結尾。在循環過程中,我們將讀取的行存儲到字符串數組中,然後關閉這兩個對象。

寫入輸出文件

假設已經用 QuickSort 對字符串數組進行了排序,接下來要做的事情就是輸出數組的內容。按照同樣的方式,我們將 StreamWriter 對象附加到 FileStream 對象上。這使得我們可以使用 WriteLine() 方法,該方法能夠很方便地模仿 Console 類的行為。一旦遍歷了數組,我們便可以象前面一樣關閉這兩個對象。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved