中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用C#中File靜態類對文件的讀取寫入

發布時間:2022-05-12 09:21:30 來源:億速云 閱讀:146 作者:iii 欄目:開發技術

這篇文章主要介紹“怎么用C#中File靜態類對文件的讀取寫入”,在日常操作中,相信很多人在怎么用C#中File靜態類對文件的讀取寫入問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C#中File靜態類對文件的讀取寫入”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

提供用于創建、復制、刪除、移動和打開單一文件的靜態方法,并協助創建 FileStream 對象。

一、讀文件:

1、返回字符串:

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

2、返回字符串數組:

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

3、返回字節數組:

byte[] buffer = File.ReadAllBytes(@"c:\temp\MyTest.txt");
string str = Encoding.Default.GetString(buffer, 0, buffer.Length);

4、返回StreamReader

打開現有的UTF-8文本以進行讀取

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

二、寫文件

創建一個新文件向其中寫入內容,文件已存在則覆蓋。

1、寫入字符串:

string createText = "Hello and Welcome" + Environment.NewLine;
File.WriteAllText(path, createText);//File.WriteAllText(),File.AppendAllText()

2、寫入字符串數組:

string[] createText = { "Hello", "And", "Welcome" };
File.WriteAllLines(path, createText);

3、寫入字節數組:

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

4、返回StreamWriter

創建或打開現有的UTF-8文本,以進行寫入或追加

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

三、返回FileStream的操作

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

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():讀訪問權限

File.OpenWrite:寫訪問權限

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()

  • 文件復制方法:File.Copy()

  • 文件移動方法:File.Move()

  • 設置文件屬性方法:File.Set/Get***()

  • 判斷文件是否存在的方法:File.Exist()

五、Directory類的常用操作:

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

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

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

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

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

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

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

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

//移動、剪切。只能在同一個磁盤中。目錄沒有Copy方法。可以使用Move()方法實現重命名。
Directory.Move(@"F:\測試\33", @"F:\測試\32\33");

六、FileSystemInfo

派生類:

  • DirectoryInfo

  • FileInfo

1、FileInfo類

//實例化FileInfo進行操作
FileInfo myfile = new FileInfo(path); //聲明一個對象對某一個文件進行操作
myfile.CopyTo(destpath);  //對文件進行復制操作,復制路徑為destpath
myfile.MoveTo(destpath);  //進行移動操作
myfile.Delete();          //進行刪除操作

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

2、DirectoryInfo類

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

七、DriveInfo類

在Windows操作系統中,存儲介質統稱為驅動器,硬盤由于可以劃分為多個區域,每一個區域稱為一個驅動器。

DriveInfo類的常用字段成員有

  • DriveFormat(文件系統格式,如NTFS或FAT32)、

  • DriveType(驅動器類型)、

  • Name(驅動器名)、

  • TotalSize(總空間)、

  • TotalFreeSpace(獲得驅動器可用空間)。

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

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

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

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

到此,關于“怎么用C#中File靜態類對文件的讀取寫入”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遵义县| 屯昌县| 邵阳市| 荆州市| 南郑县| 清原| 喜德县| 甘孜县| 天全县| 河南省| 新河县| 白银市| 徐闻县| 香河县| 益阳市| 巴楚县| 禄丰县| 青川县| 若羌县| 三穗县| 乐业县| 富阳市| 怀安县| 涿州市| 城固县| 宜城市| 河津市| 墨竹工卡县| 保靖县| 阿巴嘎旗| 宁强县| 建瓯市| 错那县| 舒兰市| 张掖市| 扎赉特旗| 平乐县| 辽阳市| 龙南县| 陇川县| 中西区|