代碼如下:
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);
}
}