C# IO操作(二)

來源:互聯網
上載者:User

標籤:style   blog   color   檔案   io   for   cti   代碼   

     本篇主要介紹一些常用的IO操作,對檔案和目錄的操作;留給自己複習之用。

1.建立檔案            string sPath1=Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);            string sPath2="1.txt";            string fullPath=Path.Combine(sPath1,sPath2);            //建立或覆蓋指定檔案,這個重載將建立一個0位元組的檔案             FileStream fsWrite= File.Create(fullPath);    //建立或開啟檔案,寫入UTF8編碼的文本            StreamWriter sw = File.CreateText(fullPath);            //建立或覆蓋指定檔案,這個重載需要提供讀取或寫入緩衝區中的位元組數            byte[] bteData=new byte[1024];            FileStream fsWrite= File.Create(fullPath,bteData.Length);            //建立或覆蓋指定檔案,這個重載需要提供FileOptions的枚舉值            byte[] bteData=new byte[1024];            FileStream fsWrite= File.Create(fullPath,bteData.Length,FileOptions.None);            //建立或覆蓋指定檔案,這個重載需要提供FileSecurity類型的執行個體(檔案安全性的指定)            byte[] bteData=new byte[1024];            FileSecurity fsecurity = new FileSecurity("1.txt", AccessControlSections.Owner);            FileStream fsWrite = File.Create(fullPath, bteData.Length, FileOptions.None, fsecurity);            //建立或開啟一個檔案用於寫入 UTF-8 編碼的文本            StreamWriter sw = File.CreateText(fullPath);            //將指定文本插入檔案中,如果檔案不存在則建立            File.WriteAllText(fullPath, "手動寫入的一段文本,哈哈哈哈");    //將指定文本插入檔案中,如果檔案不存在則建立(這個重載指定寫入編碼)            File.WriteAllText(fullPath, "手動寫入的一段文本,哈哈哈哈",Encoding.Default);            string[] str={"張三","李四","王五","趙六","田七"};            ///將指定文本插入檔案中,寫入指定字串數組,再關閉檔案(如果檔案中有內容,則會覆蓋)            File.WriteAllLines(fullPath, str);    //建立一個檔案,寫入指定位元組數組,再關閉檔案(如果檔案中有內容,則會覆蓋)            string s = "手動寫入的一段文本,哈哈哈哈";            byte[] bte = Encoding.Default.GetBytes(s);            File.WriteAllBytes(fullPath, bte);    File.AppendAllText()//將string追加到檔案2.讀取檔案    //開啟一個檔案,讀取所有行,然後關閉            string sContent = File.ReadAllText(fullPath);    //開啟一個檔案,讀取所有行,然後關閉(這個重載指定讀取編碼)            string sContent = File.ReadAllText(fullPath, Encoding.UTF8);    //開啟一個檔案,讀取所有行,然後關閉(傳回值為一個字串數組)            string[] str = File.ReadAllLines(fullPath);     //開啟一個檔案,讀取所有行,然後關閉(這個重載指定讀取編碼,傳回值為一個字串數組)            string[] str = File.ReadAllLines(fullPath,Encoding.Default);            foreach (string item in str)            {                Console.WriteLine(item);            }            //開啟一個檔案,讀取所有行,然後關閉(傳回值為一個位元組數組)            byte[] bte = File.ReadAllBytes(fullPath);            string s = Encoding.Default.GetString(bte);File.Copy(“source”, “targetFileName”, true);//檔案拷貝,true表示當檔案存在時“覆蓋”,如果不加true,則檔案存在報異常。File.Exists();//判斷檔案是否存在File.Move(“source”, “target”);//移動(剪下),檔案重新命名,檔案的剪下是可以跨磁碟的。File.Delete(“path”);//刪除。如果檔案不存在?不存在,不報錯3.檔案流FileStream fs=File.Open(); //返回FileStream FileStream fs=File.OpenRead();//返回唯讀FileStreamFileStream fs=File.OpenWrite();//返回唯寫的FileStreamFileStream fs=new FileStream(參數);4.目錄操作
 1 //建立目錄 2         DirectoryInfo dInfo = Directory.CreateDirectory(@"D:\a\b"); 3         Console.WriteLine("檔案夾{0}的建立時間是:{1}",dInfo.Name,dInfo.CreationTime);    //dInfo.CreationTimeUtc,返回目錄建立時間的UTC時間. 4         Directory.Move(@"D:\a\b", @"D:\1");     //將a下的b移入根目錄,並重新命名成1 5         Directory.Delete(@"D:\a", true);        //刪除目錄,第二個參數設定為true,則表示刪除其子目錄 6         Directory.Exists(fullPath);      //判斷目錄是否存在 7         Directory.GetFiles(fullPath);        //檢索指定目錄下的子檔案 8         string[] strDir = Directory.GetDirectories(fullPath);  //檢索指定目錄下的子目錄 9         Directory.GetDirectoryRoot(fullPath);        //返回指定路徑的根目錄10         Directory.GetParent(sPath1);                       //返回指定路徑的父目錄11         string[] strDrives = Directory.GetLogicalDrives();      //檢索電腦上邏輯磁碟機的名稱12         DateTime LastTime = Directory.GetLastWriteTimeUtc(fullPath);   //返回上次寫入指定目錄或檔案的日期和時間(UTC時間)13         DateTime Time1 = Directory.GetLastWriteTime(sPath1);   //返回上次寫入指定目錄或檔案的日期和時間14         DateTime AccTime = Directory.GetLastAccessTime(sPath1);     //返回上次訪問指定檔案和目錄的日期和時間15         DateTime utcTime = Directory.GetLastAccessTimeUtc(sPath1);  //返回上次訪問指定檔案和目錄的日期和時間(UTC時間)16         string[] str = Directory.GetFileSystemEntries(@"D:\黑馬5期", "*.avi", SearchOption.AllDirectories);    //擷取指定路徑中與搜尋模式比對的所有檔案名稱和目錄名稱的數組,還可以搜尋子目錄。17         string s1 = Directory.GetCurrentDirectory();    //應用程式的當前工作目錄18         string s2 = Assembly.GetExecutingAssembly().Location;  //當前執行代碼的程式集的路徑(路徑中包含執行程式集exe的名稱)

 需要注意的是,File.Delete(“path”)即便檔案不存在也不會拋異常;Directory.Delete(@"D:\a", true);當目錄不存在就會拋異常。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.