最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中File靜態(tài)類對(duì)文件的讀取寫入

 更新時(shí)間:2022年05月11日 08:48:57   作者:springsnow  
這篇文章介紹了C#中File靜態(tài)類對(duì)文件的讀取寫入,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

提供用于創(chuàng)建、復(fù)制、刪除、移動(dòng)和打開(kāi)單一文件的靜態(tài)方法,并協(xié)助創(chuàng)建 FileStream 對(duì)象。

一、讀文件:

1、返回字符串:

string readText = 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");
string str = Encoding.Default.GetString(buffer, 0, buffer.Length);

4、返回StreamReader

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

using (StreamReader sr = File.OpenText(@"c:\temp\MyTest.txt"))
{
    string s;
    while ((s = sr.ReadLine()) != null)
    {
        Console.WriteLine(s);
    }
}

二、寫文件

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

1、寫入字符串:

string createText = "Hello and Welcome" + 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ù)組:

string str = "哈哈哈哈哈哈";
byte[] buffer = Encoding.Default.GetBytes(str);
File.WriteAllBytes(path,buffer);

4、返回StreamWriter

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

using (StreamWriter sw = File.CreateText(path)) //StreamWriter:File.CreateText()、File.AppendText()
{
    sw.WriteLine("Hello");
    sw.WriteLine("And");
    sw.WriteLine("Welcome");
}

三、返回FileStream的操作

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

using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
{
    byte[] b = new byte[1024];
    UTF8Encoding temp = new UTF8Encoding(true);

    while (fs.Read(b, 0, b.Length) > 0)
    {
        Console.WriteLine(temp.GetString(b));
    }
}

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

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

using (FileStream fs = File.OpenWrite(path))
{
    Byte[] info = new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method.");

    // Add some information to the file.
    fs.Write(info, 0, info.Length);
}

File.Create():

using (FileStream fs = File.Create(path))
{
    Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
    // Add some information to the file.
    fs.Write(info, 0, info.Length);
}

四、File類的常用操作:

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

五、Directory類的常用操作:

//刪除此目錄
Directory.Delete(@"C:\新建文件夾")

//刪除此目錄,true表示要是此目錄有子目錄也刪除,否則就拋出異常
Directory.Delete(@"C:\新建文件夾", false);

//此目錄是否存在
bool b = Directory.Exists(@"C:\新建文件夾");

//根據(jù)路徑返回此目錄下的子目錄
string[] dirs1 = Directory.GetDirectories(@"C:\新建文件夾");

//第二個(gè)參數(shù)表示:搜索的范圍,就是搜索的文件夾包含“基礎(chǔ)”關(guān)鍵字
string[] dirs2 = Directory.GetDirectories(@"C:\新建文件夾", "基礎(chǔ)");

//搜索目錄下的所有文件
string[] files = Directory.GetFiles(@"C:\新建文件夾");

//第三個(gè)參數(shù)表示:指定搜索操作應(yīng)包括所有子目錄還是僅包括當(dāng)前目錄。
string[] files1 = Directory.GetFiles(@"C:\新建文件夾", "2.txt", SearchOption.AllDirectories);

//(獲取指定目錄下的所有目錄時(shí)返回一個(gè)DirectoryInfo數(shù)組。)
DirectoryInfo dirs = Directory.GetParent(@"C:\新建文件夾");

//移動(dòng)、剪切。只能在同一個(gè)磁盤中。目錄沒(méi)有Copy方法??梢允褂肕ove()方法實(shí)現(xiàn)重命名。
Directory.Move(@"F:\測(cè)試\33", @"F:\測(cè)試\32\33");

六、FileSystemInfo

派生類:

  • DirectoryInfo
  • FileInfo

1、FileInfo類

//實(shí)例化FileInfo進(jìn)行操作
FileInfo myfile = new FileInfo(path); //聲明一個(gè)對(duì)象對(duì)某一個(gè)文件進(jìn)行操作
myfile.CopyTo(destpath);  //對(duì)文件進(jìn)行復(fù)制操作,復(fù)制路徑為destpath
myfile.MoveTo(destpath);  //進(jìn)行移動(dòng)操作
myfile.Delete();          //進(jìn)行刪除操作

//獲得某一文件或文件夾的詳細(xì)信息(創(chuàng)建日期,最后一次修改日期等等)
FileInfo myfile = new FileInfo(path); //聲明一個(gè)對(duì)象對(duì)某一個(gè)文件進(jìn)行操作
DateTime dt = myfile.CreationTime;  //獲取或設(shè)置文件/文件夾的創(chuàng)建日期
string filepath = myfile.DirectoryName; //僅能用于FileInfo,獲得完整的路徑名,路徑+文件名
bool file = myfile.Exists;              //此屬性的值表示文件或文件夾是否存在,存在會(huì)返回True
string fullname = myfile.FullName;     //獲取文件或文件夾的完整路徑名
DateTime lastTime = myfile.LastAccessTime; //獲取或設(shè)置最后一次訪問(wèn)文件或文件夾的時(shí)間
DateTime lastWrite = myfile.LastWriteTime; //獲取或設(shè)置最后一次修改文件夾或文件夾的時(shí)間
string name = myfile.Name;                 //獲取文件名,不能修改哦
long length = myfile.Length;                  //返回文件的字節(jié)大小
//CreationTime,LastAccessTime,LastWriteTime都是可以被修改的。

2、DirectoryInfo類

DirectoryInfo dir = new DirectoryInfo(@"d:\C#程序設(shè)計(jì)");
if (!dir.Exists)
{
    dir.Create();
}
else
{
    Console.WriteLine("該目錄已經(jīng)存在");
}

七、DriveInfo類

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

DriveInfo類的常用字段成員有

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

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

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

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

DriveInfo[] drivers = DriveInfo.GetDrives();
foreach (DriveInfo driver in drivers)
{
    if (driver.DriveType == DriveType.Fixed && driver.DriveFormat == "NTFS")
    {
        Console.WriteLine("在{0}驅(qū)動(dòng)器上還有{1}字節(jié)的剩余空間。", driver.Name, driver.AvailableFreeSpace);
    }
}

到此這篇關(guān)于C#使用File靜態(tài)類讀寫文件的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一篇文章教會(huì)你用Unity制作網(wǎng)格地圖生成組件

    一篇文章教會(huì)你用Unity制作網(wǎng)格地圖生成組件

    網(wǎng)格地圖這個(gè)功能在策略型游戲中應(yīng)用比較廣泛,基本情況下會(huì)將地圖分割成正方形網(wǎng)格或者六邊形網(wǎng)格,這篇文章主要給大家介紹了如何通過(guò)一篇文章學(xué)會(huì)用Unity制作網(wǎng)格地圖生成組件的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • c# 垃圾回收(GC)優(yōu)化

    c# 垃圾回收(GC)優(yōu)化

    這篇文章主要介紹了c# 垃圾回收(GC)優(yōu)化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2021-02-02
  • C#調(diào)用C類型dll入?yún)閟truct的問(wèn)題詳解

    C#調(diào)用C類型dll入?yún)閟truct的問(wèn)題詳解

    這篇文章主要給大家介紹了關(guān)于C#調(diào)用C類型dll入?yún)閟truct問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • unity實(shí)現(xiàn)屏幕上寫字效果

    unity實(shí)現(xiàn)屏幕上寫字效果

    這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)屏幕上寫字效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 在Framework 4.0中:找出新增的方法與新增的類(一)

    在Framework 4.0中:找出新增的方法與新增的類(一)

    經(jīng)??吹接型瑢W(xué)在討論Framework 4 的新特性,新方法,于是想寫個(gè)程序找出framework4.0中新增的方法和類
    2013-05-05
  • 基于使用遞歸推算指定位數(shù)的斐波那契數(shù)列值的解決方法

    基于使用遞歸推算指定位數(shù)的斐波那契數(shù)列值的解決方法

    本篇文章介紹了,基于使用遞歸推算指定位數(shù)的斐波那契數(shù)列值的解決方法。需要的朋友參考下
    2013-05-05
  • C#?StartsWith?字符串的實(shí)例方法解析

    C#?StartsWith?字符串的實(shí)例方法解析

    這篇文章主要介紹了C#?StartsWith?字符串的實(shí)例方法,StartsWith?方法對(duì)于需要檢查字符串的前綴是否匹配特定模式的情況非常有用,你可以根據(jù)返回的布爾值,根據(jù)需要執(zhí)行相應(yīng)的邏輯操作,需要的朋友可以參考下
    2024-03-03
  • WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新聞效果的方法

    WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新聞效果的方法

    這篇文章主要介紹了WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新聞效果的方法,涉及WinForm窗口滾動(dòng)字幕設(shè)置的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 如何使用C#代碼創(chuàng)建快捷方式文件詳解

    如何使用C#代碼創(chuàng)建快捷方式文件詳解

    在Windows中創(chuàng)建快捷方式很簡(jiǎn)單,如果想用C#代碼的方式創(chuàng)建,就沒(méi)有那么方便了,因?yàn)?NET框架沒(méi)有提供直接創(chuàng)建快捷方式的方法。這篇文章主要給大家介紹了關(guān)于如何使用C#代碼創(chuàng)建快捷方式文件的相關(guān)資料,需要的朋友可以參考下
    2018-08-08
  • C#中的預(yù)定義類型與引用類型

    C#中的預(yù)定義類型與引用類型

    這篇文章介紹了C#中的預(yù)定義類型與引用類型,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

无为县| 绥德县| 乌拉特中旗| 秦皇岛市| 冷水江市| 辰溪县| 定结县| 东宁县| 璧山县| 巢湖市| 汉阴县| 富顺县| 原阳县| 湘西| 扎赉特旗| 景德镇市| 綦江县| 渭南市| 二连浩特市| 兖州市| 门头沟区| 洪江市| 高邑县| 汨罗市| 余江县| 玉山县| 肇州县| 赫章县| 济南市| 门头沟区| 陵水| 舒城县| 应城市| 军事| 南城县| 黄大仙区| 巴彦县| 曲靖市| 阜新| 成安县| 梧州市|