C#中File靜態(tài)類對文件的讀取寫入_第1頁
C#中File靜態(tài)類對文件的讀取寫入_第2頁
C#中File靜態(tài)類對文件的讀取寫入_第3頁
C#中File靜態(tài)類對文件的讀取寫入_第4頁
C#中File靜態(tài)類對文件的讀取寫入_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第C#中File靜態(tài)類對文件的讀取寫入提供用于創(chuàng)建、復(fù)制、刪除、移動和打開單一文件的靜態(tài)方法,并協(xié)助創(chuàng)建FileStream對象。

一、讀文件:

1、返回字符串:

stringreadText=File.ReadAllText(@"c:\temp\MyTest.txt");

2、返回字符串?dāng)?shù)組:

string[]readText=File.ReadAllLines(@"c:\temp\MyTest.txt",Encoding.UTF8);

3、返回字節(jié)數(shù)組:

byte[]buffer=File.ReadAllBytes(@"c:\temp\MyTest.txt");

stringstr=Encoding.Default.GetString(buffer,0,buffer.Length);

4、返回StreamReader

打開現(xiàn)有的UTF-8文本以進(jìn)行讀取

using(StreamReadersr=File.OpenText(@"c:\temp\MyTest.txt"))

strings;

while((s=sr.ReadLine())!=null)

Console.WriteLine(s);

}

二、寫文件

創(chuàng)建一個新文件向其中寫入內(nèi)容,文件已存在則覆蓋。

1、寫入字符串:

stringcreateText="HelloandWelcome"+Environment.NewLine;

File.WriteAllText(path,createText);//File.WriteAllText(),F(xiàn)ile.AppendAllText()

2、寫入字符串?dāng)?shù)組:

string[]createText={"Hello","And","Welcome"};

File.WriteAllLines(path,createText);

3、寫入字節(jié)數(shù)組:

stringstr="哈哈哈哈哈哈";

byte[]buffer=Encoding.Default.GetBytes(str);

File.WriteAllBytes(path,buffer);

4、返回StreamWriter

創(chuàng)建或打開現(xiàn)有的UTF-8文本,以進(jìn)行寫入或追加

using(StreamWritersw=File.CreateText(path))//StreamWriter:File.CreateText()、File.AppendText()

sw.WriteLine("Hello");

sw.WriteLine("And");

sw.WriteLine("Welcome");

}

三、返回FileStream的操作

File.Open():默認(rèn)為不共享、具有讀/寫訪問權(quán)限

using(FileStreamfs=File.Open(path,FileMode.Open,FileAccess.Read,FileShare.None))

byte[]b=newbyte[1024];

UTF8Encodingtemp=newUTF8Encoding(true);

while(fs.Read(b,0,b.Length)0)

Console.WriteLine(temp.GetString(b));

}

File.OpenRead():讀訪問權(quán)限

File.OpenWrite:寫訪問權(quán)限

using(FileStreamfs=File.OpenWrite(path))

Byte[]info=newUTF8Encoding(true).GetBytes("ThisistotesttheOpenWritemethod.");

//Addsomeinformationtothefile.

fs.Write(info,0,info.Length);

}

File.Create():

using(FileStreamfs=File.Create(path))

Byte[]info=newUTF8Encoding(true).GetBytes("Thisissometextinthefile.");

//Addsomeinformationtothefile.

fs.Write(info,0,info.Length);

}

四、File類的常用操作:

文件刪除方法:File.Delete()文件復(fù)制方法:File.Copy()文件移動方法:File.Move()設(shè)置文件屬性方法:File.Set/Get***()判斷文件是否存在的方法:File.Exist()

五、Directory類的常用操作:

//刪除此目錄

Directory.Delete(@"C:\新建文件夾")

//刪除此目錄,true表示要是此目錄有子目錄也刪除,否則就拋出異常

Directory.Delete(@"C:\新建文件夾",false);

//此目錄是否存在

boolb=Directory.Exists(@"C:\新建文件夾");

//根據(jù)路徑返回此目錄下的子目錄

string[]dirs1=Directory.GetDirectories(@"C:\新建文件夾");

//第二個參數(shù)表示:搜索的范圍,就是搜索的文件夾包含“基礎(chǔ)”關(guān)鍵字

string[]dirs2=Directory.GetDirectories(@"C:\新建文件夾","基礎(chǔ)");

//搜索目錄下的所有文件

string[]files=Directory.GetFiles(@"C:\新建文件夾");

//第三個參數(shù)表示:指定搜索操作應(yīng)包括所有子目錄還是僅包括當(dāng)前目錄。

string[]files1=Directory.GetFiles(@"C:\新建文件夾","2.txt",SearchOption.AllDirectories);

//(獲取指定目錄下的所有目錄時返回一個DirectoryInfo數(shù)組。)

DirectoryInfodirs=Directory.GetParent(@"C:\新建文件夾");

//移動、剪切。只能在同一個磁盤中。目錄沒有Copy方法??梢允褂肕ove()方法實現(xiàn)重命名。

Directory.Move(@"F:\測試\33",@"F:\測試\32\33");

六、FileSystemInfo

派生類:

DirectoryInfoFileInfo

1、FileInfo類

//實例化FileInfo進(jìn)行操作

FileInfomyfile=newFileInfo(path);//聲明一個對象對某一個文件進(jìn)行操作

myfile.CopyTo(destpath);//對文件進(jìn)行復(fù)制操作,復(fù)制路徑為destpath

myfile.MoveTo(destpath);//進(jìn)行移動操作

myfile.Delete();//進(jìn)行刪除操作

//獲得某一文件或文件夾的詳細(xì)信息(創(chuàng)建日期,最后一次修改日期等等)

FileInfomyfile=newFileInfo(path);//聲明一個對象對某一個文件進(jìn)行操作

DateTimedt=myfile.CreationTime;//獲取或設(shè)置文件/文件夾的創(chuàng)建日期

stringfilepath=myfile.DirectoryName;//僅能用于FileInfo,獲得完整的路徑名,路徑+文件名

boolfile=myfile.Exists;//此屬性的值表示文件或文件夾是否存在,存在會返回True

stringfullname=myfile.FullName;//獲取文件或文件夾的完整路徑名

DateTimelastTime=myfile.LastAccessTime;//獲取或設(shè)置最后一次訪問文件或文件夾的時間

DateTimelastWrite=myfile.LastWriteTime;//獲取或設(shè)置最后一次修改文件夾或文件夾的時間

stringname=myfile.Name;//獲取文件名,不能修改哦

longlength=myfile.Length;//返回文件的字節(jié)大小

//CreationTime,LastAccessTime,LastWriteTime都是可以被修改的。

2、DirectoryInfo類

DirectoryInfodir=newDirectoryInfo(@"d:\C#程序設(shè)計");

if(!dir.Exists)

dir.Create();

Console.WriteLine("該目錄已經(jīng)存在");

}

七、DriveInfo類

在Windows操作系統(tǒng)中,存儲介質(zhì)統(tǒng)稱為驅(qū)動器,硬盤由于可以劃分為多個區(qū)域,每一個區(qū)域稱為一個驅(qū)動器。

DriveInfo類的常用字段成員有

DriveFormat(文件系統(tǒng)格式,如NTFS或FAT32)、DriveType(驅(qū)動器類型)、Name(驅(qū)動器名)、TotalSize(總空間)、TotalFreeSpace(獲得驅(qū)動器可用空間)。

常用的方法成員有GetDrives(獲得可用驅(qū)動器列表)。

DriveType枚舉型的枚舉值有CDRom(光驅(qū))、Fixed(硬盤)、Network(網(wǎng)絡(luò)驅(qū)動器)和Removeable(軟盤或U盤)等。

例如,以下代碼可以輸出每一個硬盤驅(qū)動器的剩余空間信息。

DriveInfo[]drivers=DriveInfo.GetDrives();

foreach(DriveInfodriverindrive

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論