using System.IO
I input 輸入
O output 輸出File.Create("C:\1.txt");
file是個靜態(tài)類,里面有很多方法,多是基于面向?qū)ο蠖O(shè)計(jì)的,所以單詞好,f12進(jìn)入代碼,自己用。
//上面的創(chuàng)建是不行的對于Windows10,因?yàn)榘踩募遣浑S便寫入系統(tǒng)硬盤的。
//如果強(qiáng)行寫入改變安全權(quán)限,但這么做沒什么意義。
//可以創(chuàng)建一個文件夾,安全權(quán)限改成完全控制。Directory 目錄文件夾//這是f盤Youkumoive下所有文件夾string[] a = Directory.GetDirectories(@"F:\Youkumoive", "*", SearchOption.AllDirectories);//Directory 目錄以字符串?dāng)?shù)組返回盤符的路徑foreach (var item in a){Console.WriteLine(item);}//F:\classic moive下的文件,只是這個目錄下的string[] files = Directory.GetFiles(@"F:\classic moive");foreach (var item in files){Console.WriteLine(item);}//directory 的升級版 directoryinfo,可以得到文件或文件夾的更多信息//普通類DirectoryInfo dir = new DirectoryInfo(@"F:\classic moive");FileInfo[] files1 = dir.GetFiles();foreach (var item in files1){Console.WriteLine(item.Name);//只得到該文件夾下的文件名}DirectoryInfo[] info = dir.GetDirectories();//得到文件夾的信息
2,文件的讀取與寫入
//創(chuàng)建文件流,沒有就創(chuàng)建一個文件,有則打開文件FileStream fs = new FileStream(@"E:\Txt\1.txt", FileMode.OpenOrCreate);//寫入文件的工具StreamWriter sw = new StreamWriter(fs);sw.WriteLine("Hello World!");sw.Close();fs.Close();//讀取文件StreamReader sr = new StreamReader(@"E:\Txt\1.txt");//批量讀取文件string str = sr.ReadToEnd();sr.Close();fs.Close();Console.WriteLine(str);string path = @"E:\Txt\work.txt";FileStream fs1 = new FileStream(path, FileMode.OpenOrCreate);StreamReader sr1 = new StreamReader(fs1);//逐行讀取string str1;while (!sr1.EndOfStream){str1 = sr1.ReadLine();Console.WriteLine(str1);}fs1.Close();
string path = @"E:\Txt\2019 9 20\csdn.border"; FileStream fs = new FileStream(path,FileMode.OpenOrCreate);//new一個二進(jìn)制序列化器BinaryFormatter bf = new BinaryFormatter();//把這個類進(jìn)行序列化,來寫入硬盤Pet p = new Pet("小豬","公","2");bf.Serialize(fs,p);//關(guān)流 fs.Close();
反序化如下
string path = @"E:\Txt\2019 9 20\csdn.border"; //讀取這個對象的字段FileStream fs = new FileStream(path,FileMode.OpenOrCreate);BinaryFormatter bf = new BinaryFormatter();//反序列化,返回object類型,所以要轉(zhuǎn)型為pet類Pet p = bf.Deserialize(fs) as Pet;fs.Close();//打印寫入硬盤里類的字段Console.WriteLine(p.name + p.sex + p.age);//結(jié)果:小豬公2