using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Example { class Program { static void Main(string[] args) { //////////////// 文件打開 下面的代碼打開D:\wang.txt文件,並且向文件中寫入"hello" FileStream textFile = File.Open(@"D:\wang.txt", FileMode.Append);//以Append方式打開文件(如果不存在,會創建) byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要寫入的信息 textFile.Write(info, 0, info.Length);//Write方法只能寫入byte數組 textFile.Close();//關閉文件流 ////////////////////// 文件創建 FileStream newText = File.Create(@"D:\newText.txt");//創建文件 newText.Close();//關閉文件 //////////////////// 刪除文件 File.Delete(@"d:\newText.txt"); ////////////////// 文件復制 如果目標文件存在,不允許復制(就是不能覆蓋同名文件) //File.Copy(@"d:\wang.txt", @"d:\CopyWang.txt"); //////////////// 文件移動 只能在同一個盤中移動 如果目標路徑不正確,不能移動 // File.Move(@"d:\CopyWang.txt", @"D:\A\movewang.txt"); //////////////////////// 設置文件屬性為 只讀,隱藏 //File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);//同時滿足多個屬性,必須用位或(|). /////////////// 判斷文件是不是存在 if (File.Exists(@"D:\copywang.txt"))//如果存在 即便是隱藏的文件也可以找到 { File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly);//重新設置屬性后,隱藏的文件也會顯示出來,只要不加Hidden屬性 Console.WriteLine("找到文件copywang.txt"); } else { Console.WriteLine("沒有找到文件CopyWang.txt"); } /* 此外,File類對於Text文本提供了更多的支持。 ?AppendText:將文本追加到現有文件 ?CreateText:為寫入文本創建或打開新文件 ?OpenText:打開現有文本文件以進行讀取 但上述方法主要對UTF-8的編碼文本進行操作,從而顯得不夠靈活。在這里推薦讀者使用下面的代碼對txt文件進行操作。 ?對txt文件進行“讀”操作,示例代碼如下: */ StreamReader textReader = new StreamReader(@"D:\wang.txt", System.Text.Encoding.Default);//以默認編碼方式打開文件 string str = textReader.ReadToEnd();//讀取文件 Console.WriteLine("使用StreamReader讀取文本內容:" + str); textReader.Close(); //////////////////對txt文件寫內容 StreamWriter textWriter = new StreamWriter(@"D:\wang.txt"); str = "Learn .Net"; textWriter.Write(str); textWriter.Close(); /* System.IO.Directory類和System.DirectoryInfo類 主要提供關於目錄的各種操作,使用時需要引用System.IO命名空間。下面通過程序實例來介紹其主要屬性和方法。 */ Directory.CreateDirectory(@"D:\wang1\wang");//創建目錄(文件夾)如果已經存在,則保持;還可以一次創建多級目錄 /////////////////////////////////目錄屬性設置方法 DirectoryInfo dirInfo = new DirectoryInfo(@"D:\wang1\wang");// dirInfo.Attributes = FileAttributes.Hidden;// | FileAttributes.ReadOnly;//設置文件夾屬性 /////////////////Delete方法的第二個參數為bool類型,它可以決定是否刪除非空目錄。 //如果該參數值為true,將刪除整個目錄,即使該目錄下有文件或子目錄;若為false,則僅當目錄為空時才可刪除。 //Directory.Delete(@"D:\wang1", true);//如果文件設置為ReadOnly,則不能刪除 //Directory.Move(@"d:\wang1", @"d:\wang3");//把文件夾wang1移動到文件夾wang3中,相當於把wang1刪除,創建一個wang3,再把內容移動到wang3 string[] Directories = Directory.GetDirectories(@"D:\wang3");//獲得文件夾wang3的目錄 foreach (string var in Directories) Console.WriteLine(var); string[] Files = Directory.GetFiles(@"D:\wang1");//獲取文件夾wang1下面的所有文件 foreach (string var in Files) Console.WriteLine(var); if (Directory.Exists(@"D:\wang1")) Console.WriteLine("文件夾wang1存在"); /* 在C#中 “\”是特殊字符,要表示它的話需要使用“\\”。由於這種寫法不方便,C#語言提供了@對其簡化。只要在字符串前加上@即可直接使用“\”。 所以上面的路徑在C#中應該表示為“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。 */ Console.ReadLine(); } } }
一些操作由於互相關聯,因此加了注釋,看該文章時,只需把代碼復制下來從前到后一點一點的運行就可以看到結果。(可以先把后面的注釋掉,通過加/* */).
參考:http://blog.163.com/xiao_mege/blog/static/729427532010993582453/