一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .Net筆記:System.IO之windows文件操作的深入分析

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

2019-11-07 12:10asp.net教程網 ASP.NET教程

本篇文章是對.Net中windows文件操作的使用進行了詳細的分析介紹,需要的朋友參考下

.Net中處理系統文件相關的幾個類分別是File、Directory、FileInfo、DirectoryInfo、DriveInfo、FileSystemWatcher。本文介紹下這幾個類的用法。
1.File類提供靜態方法用來創建、移動、復制、刪除文件的操作,并可以打開文件流
2.Directory類提供靜態方法用來創建、移動、復制、刪除目錄的操作
3.FileInfo類用類實例實現創建、復制、移動、刪除文件的操作
4.DirectoryInfo提供創建、移動、復制、刪除目錄的操作,并可以枚舉子目錄
5.DriveInfo可以獲得windows操作系統中的磁盤信息
6.FileSystemWatcher用來監視文件或目錄變化,并引發事件
7.Path類提供文件名目錄名操作的靜態方法

File、FileInfo、Directory、DirectoryInfo這幾個類的使用方法都非常簡單就不做贅述了。
1.如何使用DriveInfo獲得windows系統磁盤信息
不允許在程序中自己構造DriveInfo的實例,可以通過DriveInfo的靜態方法GetDrives()獲得windows系統中所有的磁盤,包括硬盤,cd以及u盤;注意在訪問磁盤屬性時需要先判斷其IsReady屬性是否為true,IsReady為false時訪問磁盤的一些屬性時會拋出異常。如下實例代碼:

復制代碼代碼如下:


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} 卷標:{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監視目錄
FileSystemWatcher用來監視目錄或者文件的修改,創建,刪除,要使FileSystemWatcher開始監視必須設置其EnableRaisingEvents屬性為true,如下示例:

復制代碼代碼如下:


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)
        {
            //聲明要監視的目錄
            string watchPath = "D:\\watch";
            FileSystemWatcher watcher = new FileSystemWatcher(watchPath, "*.*");
            //添加文件變化處理事件
            watcher.Changed += new FileSystemEventHandler(Watcher_Changed);
            //添加文件創建處理事件
            watcher.Created += new FileSystemEventHandler(Watcher_Created);
            //添加文件刪除處理事件
            watcher.Deleted += new FileSystemEventHandler(Watcher_Deleted);           
            //添加錯誤處理
            watcher.Error += new ErrorEventHandler(Watcher_Error);
            //啟動監視
            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("錯誤:" + 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 類提供了一組處理路徑的靜態方法
1)Path.GetDirectoryName(string path) 返回目錄名,需要注意路徑末尾是否有反斜杠對結果是有影響的,如下:
Path.GetDirectoryName("d:\\abc") 將返回 d:\
Path.GetDirectoryName("d:\\abc\") 將返回 d:\abc
2)Path.GetRandomFileName()將返回隨機的文件名
3)Path. GetFileNameWithoutExtension(“d:\\abc.txt”) 將返回abc
4)Path.GetInvalidPathChars() 將返回禁止在路徑中使用的字符
5)Path. GetInvalidFileNameChars()將返回禁止在文件名中使用的字符
6)  Path.Combine(string left,string right)合并兩個路徑
需要注意的是,以上提到的這幾個文件系統相關的類的底層都調用了windows的api,也就是說這些類只可以在windows系統下用,而在其他操作系統下是不可用的。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲瑟瑟网 | 亚洲a视频在线 | 欧美xxoo做爰猛烈视频 | 国产免费看视频 | 亚洲AV精品无码喷水直播间 | 男人午夜剧场 | 亚洲色影 | ipx 在线播放 | 好湿好紧太硬了我太爽了网站 | 欧美另类杂交a | 91在线 在线播放 | 美女流白浆 | 99久久精彩视频 | 天堂网在线.www天堂在线资源 | 久久久久久久久性潮 | 欧美亚洲免费 | 日本一二线不卡在线观看 | 欧美整片完整片视频在线 | 亚洲精品成人AV在线观看爽翻 | 国产在线播放91 | 王淑兰与铁柱全文免费阅读 | 波多野结衣178部中文字幕 | 性俄罗斯xxxxxhd | caonila国产在线观看 | 国产色视频一区二区三区 | 欧美日韩在线成人看片a | 亚洲欧美自偷自拍另类小说 | 深夜在线观看 | 99re8在这里只有精品2 | 调教校花浣肠开菊 | 草草草视频在线观看 | 欧美一区二区三区四区五区六区 | 精品一区二区三区在线播放 | a级免费在线观看 | 成人高清网站 | 免费午夜网站 | 91在线老师啪国自产 | 四虎影库紧急大通知 | 国产最新进精品视频 | 日韩理论片在线看免费观看 | 荡女人人爱全文免费阅读 |