1. 程式人生 > >C#複習——文字和檔案

C#複習——文字和檔案

FileStream

static void Main()     
{
	try
	{
		FileStream fs = new FileStream(@"C:\artists\log.txt",
		FileMode.OpenOrCreate, FileAccess.ReadWrite);
		byte[ ] alpha = new byte[6] { 65, 66, 67, 68, 69, 70 };
		foreach (byte b in alpha)
		{
			fs.WriteByte(b);
		}
		fs.Position = 0;
		for (int i =
0; i < fs.Length(); i++) { Console.Write((char)fs.ReadByte()); } fs.Close(); } catch (Exception ex) { Console.Write(ex.Message); } }

StreamReader

static void Main(string[] args)        
{                      
	DataTable dt = new DataTable();//新建空的表格
	dt.Columns.Add("id", typeof
(string));//增加列 dt.Columns.Add("x", typeof(string)); dt.Columns.Add("y", typeof(string)); StreamReader sr = new StreamReader(filepath, Encoding.GetEncoding("gb2312")); string oneline; while (!sr.EndOfStream) { oneline = sr.ReadLine(); //逐行讀取 string[] a = oneline.Split(',');//分割 DataRow
dr =dt.NewRow(); dr[0] = a[0]; dr[1] = a[1]; dr[2] = a[2]; dt.Rows.Add(dr); } sr.Close(); this.dataGridView1.DataSource = dt; }

補:

  • 正則表示式-替換

string result = String.Empty;
string str = “Just Test the Method”;
result = Regex.Replace(str, “\s{2,}”, " “);
//s{2,} 中的s表示空格,數字2表示兩個或以上的空格 ,替換為後面的” "一個空格

StreamWriter

Public StreamWriter(string path,bool append, Encoding encoding);

  • append為false,則該檔案被改寫。
  • append為true,資料被追加到檔案中,若沒有則建立。

Directory類

在這裡插入圖片描述

Path類

在這裡插入圖片描述

DirectoryInfo類

在這裡插入圖片描述

  • 常見資料夾操作
//獲取當前應用程式的路徑 
Console.WriteLine(Directory.GetCurrentDirectory()); 

//獲取當前計算機所有邏輯驅動器的名稱 
string[] drvs=Directory.GetLogicalDrives(); 
foreach(string drv in drvs) 
{      
	Console.WriteLine(drv); 
}

//新建資料夾 
Directory.CreateDirectory("c:\\mydirectory"); 

//刪除資料夾 
Directory.Delete("C:\\mydirectory",true); 

//移動資料夾 
Directory.Move("c:\\temp","d:\\qq\\temp");

//顯示所有子檔案
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
DirectoryInfo[] dirs =  dInfo.GetDirectories(); 
foreach(DirectoryInfo dir in dirs) 
{      
	Console.WriteLine(dir.Name); 
} 

//顯示資料夾中的檔案
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
FileInfo[] fs =  dInfo.GetFiles(); 
foreach(FileInfo f in dirs) 
{    
	Console.WriteLine(f.Name); 
} 

//顯示資料夾中的檔案(指定副檔名) 
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
FileInfo[] fs =  dInfo.GetFiles("*.exe"); 
foreach(FileInfo f in dirs) 
{      
	Console.WriteLine(f.Name); 
}

//複製檔案
File.Copy("c:\\temp.txt", "D:\\temp.txt",true);
 
//刪除檔案 
File.Delete("c:\\temp.txt"); 

//確定檔案是否存在 
bool b=File.Exists("c:\\temp.txt"); 

//獲取檔案大小 
FileInfo f=new FileInfo("檔名");
long leng=f.Length;

//獲取檔案的副檔名
FileInfo f=new FileInfo("檔名");
string ext=f.Extension;
string ext2=Path.GetExtension("路徑全名");//兩種方式

//獲取路徑中的檔名
FileInfo f=new FileInfo("檔名");
string name=f.name;
string name22=Path.GetFileName("路徑全名");//兩種方式
  • 獲取資料夾資訊
    DirectoryInfo dInfo=new DirectoryInfo (“c:\Win”);
資訊 操作
最近訪問時間 dInfo.LastAccessTime.ToLongDateString()
建立時間 dInfo.CreationTime.ToLongTimeString()
上級資料夾 dInfo.Parent.Name()
有子資料夾 dInfo.GetDirectories().Length.ToString()
包含檔案 dInfo.GetFiles().Length.ToString()