文章目錄
1. |
開啟 Visual Studio .2005。在 C# 中建立控制台應用程式。 Visual Studio 給您建立一個靜態類以及一個空的 Main() 過程。 |
2. |
確保該項目至少引用了 System 名稱空間。 對 System、system.io 和 System.Collections 名稱空間使用 using 語句,這樣,在後面的代碼中就不需要限定這些名稱空間中的聲明了。 這些語句必須位於所有其他聲明之前。 using System; using System.IO; using System.Text; using System.Collections;
|
|
3. |
若要開啟一個檔案以進行讀取,請建立 StreamReader 對象的一個新執行個體,並將該檔案的路徑傳遞到建構函式中(如下所示),使用Encoding.Default可以是讀取的中文不為亂碼StreamReader sr = new StreamReader(@"c:\\test.txt",Encoding.Default);
|
|
4. |
您需要一個字串變數,處理時將檔案的每一行儲存到該變數中。 因為將把這些行添加到一個 ArrayList 中,所以還應該聲明和建立一個該類型的對象。 string sLine=""; ArrayList arrText = new ArrayList();
|
|
5. |
讀取該檔案有很多種方法,其中包括一次性讀取整個檔案的 ReadToEnd 方法。 但是,在本樣本中,您可以使用 ReadLine 方法每次唯讀取檔案中的一行。 當到達檔案結尾時,此方法返回空值,這可以用於結束迴圈。 當您從檔案中讀取每一行時,可以使用 ArrayList 的 Add 方法將這些行插入到 ArrayList 類中。 while (sLine != null) { sLine = sr.ReadLine(); if (sLine != null) arrText.Add(sLine); } sr.Close();
|
|
6. |
使用 For Each 迴圈將新填充的 ArrayList 內容寫入到控制台(如下所示): foreach (string Line in arrText) Console.WriteLine(Line); Console.ReadLine();
|
|
7. |
儲存並運行您的代碼,它將給控制台組建檔案的內容列表。 |
|
完整代碼清單
using System;
using System.Collections;
using System.Text;
using System.IO;
namespace homework
{
class Document
{
public static void Read()
{
try
{
StreamReader sr = new StreamReader(@"c:\\test.txt",Encoding.Default);
ArrayList arrText = new ArrayList();
String sLine = "";
while (sLine != null)
{
sLine = sr.ReadLine();
if (sLine != "")
arrText.Add(sLine);
}
sr.Close();
foreach (String Line in arrText)
Console.WriteLine(Line);
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
class work
{
static void Main(string[] args)
{
Document.Read();
}
}
}
注意事項
在處理檔案 I/O 時要注意一些問題,其中包括以下事項:
? |
無論何時訪問某個檔案,要讀取或寫入的檔案都有可能不在系統上,或者正在使用當中。 |
? |
在處理檔案之前,本樣本先將整個檔案讀取到記憶體中。 您可能會遇到檔案太大而無法儲存到記憶體中,或者沒有許可權訪問該檔案的情況。 |
以上的任何情形都會引發一個異常。 最好始終提供一個 try...catch 塊來處理這些常見問題。