婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > .Net筆記:System.IO之windows文件操作的深入分析

.Net筆記:System.IO之windows文件操作的深入分析

熱門標(biāo)簽:長(zhǎng)春呼叫中心外呼系統(tǒng)哪家好 智能電話營(yíng)銷外呼系統(tǒng) 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注 電銷語(yǔ)音自動(dòng)機(jī)器人 鄭州400電話辦理 聯(lián)通 五常地圖標(biāo)注 地圖標(biāo)注和認(rèn)領(lǐng) 萊蕪?fù)夂綦婁N機(jī)器人價(jià)格 戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用
在.Net中處理系統(tǒng)文件相關(guān)的幾個(gè)類分別是File、Directory、FileInfo、DirectoryInfo、DriveInfo、FileSystemWatcher。本文介紹下這幾個(gè)類的用法。
1.File類提供靜態(tài)方法用來(lái)創(chuàng)建、移動(dòng)、復(fù)制、刪除文件的操作,并可以打開(kāi)文件流
2.Directory類提供靜態(tài)方法用來(lái)創(chuàng)建、移動(dòng)、復(fù)制、刪除目錄的操作
3.FileInfo類用類實(shí)例實(shí)現(xiàn)創(chuàng)建、復(fù)制、移動(dòng)、刪除文件的操作
4.DirectoryInfo提供創(chuàng)建、移動(dòng)、復(fù)制、刪除目錄的操作,并可以枚舉子目錄
5.DriveInfo可以獲得windows操作系統(tǒng)中的磁盤信息
6.FileSystemWatcher用來(lái)監(jiān)視文件或目錄變化,并引發(fā)事件
7.Path類提供文件名目錄名操作的靜態(tài)方法
File、FileInfo、Directory、DirectoryInfo這幾個(gè)類的使用方法都非常簡(jiǎn)單就不做贅述了。
1.如何使用DriveInfo獲得windows系統(tǒng)磁盤信息
不允許在程序中自己構(gòu)造DriveInfo的實(shí)例,可以通過(guò)DriveInfo的靜態(tài)方法GetDrives()獲得windows系統(tǒng)中所有的磁盤,包括硬盤,cd以及u盤;注意在訪問(wèn)磁盤屬性時(shí)需要先判斷其IsReady屬性是否為true,IsReady為false時(shí)訪問(wèn)磁盤的一些屬性時(shí)會(huì)拋出異常。如下實(shí)例代碼:
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace aboutio
{
    class Program
    {
        static void Main(string[] args)
        {
            DriveInfo[] drives = DriveInfo.GetDrives();

            foreach (DriveInfo drive in drives)
            {
                if(drive.IsReady)
                    Console.WriteLine("類型:{0} 卷標(biāo):{1} 名稱:{2} 總空間:{3} 剩余空間:{4}",drive.DriveType, drive.VolumeLabel,drive.Name,drive.TotalSize,drive.TotalFreeSpace);
                else
                    Console.WriteLine("類型:{0}  is not ready",drive.DriveType);
            }

            Console.ReadLine();
        }
    }
}

2. 使用FileSystemWatcher監(jiān)視目錄
FileSystemWatcher用來(lái)監(jiān)視目錄或者文件的修改,創(chuàng)建,刪除,要使FileSystemWatcher開(kāi)始監(jiān)視必須設(shè)置其EnableRaisingEvents屬性為true,如下示例:
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;

namespace UseFileSystemWatcher
{
    class Program
    {
        static void Main(string[] args)
        {
            //聲明要監(jiān)視的目錄
            string watchPath = "D:\\watch";
            FileSystemWatcher watcher = new FileSystemWatcher(watchPath, "*.*");
            //添加文件變化處理事件
            watcher.Changed += new FileSystemEventHandler(Watcher_Changed);
            //添加文件創(chuàng)建處理事件
            watcher.Created += new FileSystemEventHandler(Watcher_Created);
            //添加文件刪除處理事件
            watcher.Deleted += new FileSystemEventHandler(Watcher_Deleted);          
            //添加錯(cuò)誤處理
            watcher.Error += new ErrorEventHandler(Watcher_Error);
            //啟動(dòng)監(jiān)視
            watcher.EnableRaisingEvents = true;
            Thread.Sleep(1000 * 60);
            Console.WriteLine("press any key to exit..");
            Console.Read();
        }

        static void Watcher_Error(object sender, ErrorEventArgs e)
        {
            Console.WriteLine("錯(cuò)誤:" + e.ToString());
        }

        static void Watcher_Deleted(object sender, FileSystemEventArgs e)
        {
            Console.WriteLine(e.ChangeType + ":" + e.FullPath);
        }

        static void Watcher_Created(object sender, FileSystemEventArgs e)
        {
            Console.WriteLine(e.ChangeType + ":" + e.FullPath);
        }

        static void Watcher_Changed(object sender, FileSystemEventArgs e)
        {
            Console.WriteLine(e.ChangeType + ":" + e.FullPath);
        }
    }
}

3. Path 類提供了一組處理路徑的靜態(tài)方法
1)Path.GetDirectoryName(string path) 返回目錄名,需要注意路徑末尾是否有反斜杠對(duì)結(jié)果是有影響的,如下:
Path.GetDirectoryName("d:\\abc") 將返回 d:\
Path.GetDirectoryName("d:\\abc\") 將返回 d:\abc
2)Path.GetRandomFileName()將返回隨機(jī)的文件名
3)Path. GetFileNameWithoutExtension(“d:\\abc.txt”) 將返回abc
4)Path.GetInvalidPathChars() 將返回禁止在路徑中使用的字符
5)Path. GetInvalidFileNameChars()將返回禁止在文件名中使用的字符
6)  Path.Combine(string left,string right)合并兩個(gè)路徑
需要注意的是,以上提到的這幾個(gè)文件系統(tǒng)相關(guān)的類的底層都調(diào)用了windows的api,也就是說(shuō)這些類只可以在windows系統(tǒng)下用,而在其他操作系統(tǒng)下是不可用的。

標(biāo)簽:湖州 宣城 福州 紅河 岳陽(yáng) 西寧 衢州 西藏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.Net筆記:System.IO之windows文件操作的深入分析》,本文關(guān)鍵詞  .Net,筆記,System.IO,之,windows,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.Net筆記:System.IO之windows文件操作的深入分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于.Net筆記:System.IO之windows文件操作的深入分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 两当县| 额尔古纳市| 印江| 黔西| 三穗县| 工布江达县| 新邵县| 平顺县| 美姑县| 新邵县| 石景山区| 凉城县| 留坝县| 进贤县| 米脂县| 大兴区| 黎川县| 巫溪县| 玉林市| 文安县| 海林市| 油尖旺区| 浠水县| 平江县| 萝北县| 新闻| 江山市| 郎溪县| 华蓥市| 防城港市| 洪雅县| 巴马| 平度市| 文化| 平顺县| 昭通市| 深水埗区| 肥乡县| 米泉市| 砀山县| 平阳县|