複製代碼 代碼如下:using System;
using System.IO;
public class FileApp
{
public static void Main()
{
// 在目前的目錄建立一個檔案myfile.txt,對該檔案具有讀寫權限
FileStream fsMyfile = new FileStream("myfile.txt" , FileMode.Create, FileAccess.ReadWrite);
// 建立一個資料流寫入器,和開啟的檔案關聯
StreamWriter swMyfile = new StreamWriter(fsMyfile);
// 以文本方式寫一個檔案
swMyfile.WriteLine("Hello, World");
swMyfile.WriteLine("abcdefghijklmnopqrstuvwxyz");
swMyfile.WriteLine("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
swMyfile.WriteLine("0123456789");
// 沖刷資料(把資料真正寫到檔案中去)
// 注釋該句試試看,程式將報錯
swMyfile.Flush();
// 以文本方式讀檔案
// 建立一個資料流讀入器,和開啟的檔案關聯
StreamReader srMyfile= new StreamReader(fsMyfile);
// 把檔案指標重新置放到檔案的開始
srMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 列印提示資訊
Console.WriteLine("****************以文本方式讀檔案*********************");
// 列印檔案常值內容
string s1;
while((s1 = srMyfile.ReadLine())!=null)
{
Console.WriteLine(s1);
}
Console.WriteLine();
// 以文本方式讀檔案結束
// 以二進位方式讀檔案
// 建立一個位元據流讀入器,和開啟的檔案關聯
BinaryReader brMyfile= new BinaryReader (fsMyfile);
// 把檔案指標重新置放到檔案的開始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 列印提示資訊
Console.WriteLine("****************以二進位方式讀檔案*********************");
// 列印檔案常值內容
Byte b1;
while(brMyfile.PeekChar()>-1)
{
b1=brMyfile.ReadByte();
// 13為"\n",表示斷行符號;10為"\r",表示換行
if(b1 != 13 && b1 != 10)
{
Console.Write("{0}",b1.ToString());
Console.Write(".");
}
else
{
Console.WriteLine();
}
}
Console.WriteLine("\n");
// 以二進位方式讀檔案結束
// 關閉以上new的各個對象
brMyfile.Close();
srMyfile.Close();
fsMyfile.Close();
// 讀取檔案屬性
// 列印提示資訊
Console.WriteLine("****************讀取檔案屬性*********************");
FileInfo fiMyfile=new FileInfo("myfile.txt");
Console.WriteLine("檔案名稱 : {0}",fiMyfile.Name);
Console.WriteLine("檔案名稱(含路徑) : {0}",fiMyfile.FullName);
Console.WriteLine("檔案大小(bytes) : {0}",fiMyfile.Length);
Console.WriteLine("檔案建立時間 : {0}",fiMyfile.CreationTime);
}
}