C#如何打開并讀取usb的文件目錄
下面我通過一個(gè)小例子并結(jié)合一段代碼片段給大家展示下,有需要的朋友可以來借鑒下。
界面上拖一個(gè) button 和treeview ,運(yùn)行的時(shí)候直接插入優(yōu)盤,單機(jī)按鈕就會(huì)出現(xiàn)目錄文件。不過只能在u盤插入,U盤拔出時(shí),才能接收到信息。
1.[C#]代碼
using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace usbText { public partial class Form1 : Form { DriveInfo Tdriver = null; public Form1() { InitializeComponent(); } protected override void WndProc(ref Message m) { if (m.Msg == 0x0219)//WM_DEVICECHANGE { switch (m.WParam.ToInt32()) { case 0x8000://DBT_DEVICEARRIVAL { MessageBox.Show("設(shè)備插入"); string[] dirs = Environment.GetLogicalDrives(); //取得所有的盤符 foreach (string dir in dirs) { Tdriver = new DriveInfo(dir); if (Tdriver.DriveType == DriveType.Removable) { { while (Tdriver.IsReady == false) { Thread.Sleep(500); } try { string PSTR = ""; PSTR += "磁盤名稱:" + Tdriver.Name + "\r\n"; PSTR += "磁盤卷標(biāo):" + Tdriver.VolumeLabel + "\r\n"; PSTR += "文件系統(tǒng):" + Tdriver.DriveFormat + "\r\n"; PSTR += "剩余大小:" + Tdriver.AvailableFreeSpace.ToString() + "\r\n"; PSTR += "總體容量:" + Tdriver.TotalSize.ToString() + "\r\n"; PSTR += "總體容量:" + Tdriver.RootDirectory.ToString() + "\r\n"; MessageBox.Show(PSTR); } catch { MessageBox.Show("error"); } } } } break; } case 0x8004://DBT_DEVICEREMOVECOMPLETE { MessageBox.Show("設(shè)備拔出"); break; } } } base.WndProc(ref m); } private void AddToTreeView(TreeNode node) { treeView1.Nodes.Add(node); treeView1.Refresh(); } internal void LoadFolderFileList(string path, TreeNode nodes) { string[] dirs = Directory.GetDirectories(path); string[] files = Directory.GetFiles(path); for (int i = 0; i < dirs.Length; i++) { string[] info = new string[4]; DirectoryInfo di = new DirectoryInfo(dirs[i]); TreeNode node = new TreeNode(di.Name); node.Tag = di.FullName; try { if (di.GetDirectories().Length > 0 || di.GetFiles().Length > 0) { LoadFolderFileList(di.FullName, node); } else { continue; } } catch { continue; } nodes.Nodes.Add(node); } for (int i = 0; i < files.Length; i++) { FileInfo fi = new FileInfo(files[i]); TreeNode node = new TreeNode(fi.Name); node.Tag = fi.FullName; nodes.Nodes.Add(node); } } private void button1_Click(object sender, EventArgs e) { if (Tdriver != null) { TreeNode node = new TreeNode(); LoadFolderFileList(Tdriver.RootDirectory.ToString(), node); treeView1.Nodes.Add(node); } } } }
通過以上代碼可以實(shí)現(xiàn)打開并讀取usb的文件目錄,希望大家能夠喜歡。
- C#刪除文件目錄或文件的解決方法
- C#操作目錄與文件的方法步驟
- C#計(jì)算兩個(gè)文件的相對目錄算法的實(shí)例代碼
- C#獲取全部目錄和文件的簡單實(shí)例
- c#同步兩個(gè)子目錄文件示例分享 兩個(gè)文件夾同步
- c#使用filesystemwatcher實(shí)時(shí)監(jiān)控文件目錄的添加和刪除
- C#常用目錄文件操作類實(shí)例
- C#獲取項(xiàng)目指定目錄下文件的方法
- C#遍歷指定目錄下所有文件的方法
- C#實(shí)現(xiàn)最完整的文件和目錄操作類實(shí)例
- C#實(shí)現(xiàn)安全刪除文件目錄的方法
- C#讀取目錄下所有指定類型文件的方法
- C#實(shí)現(xiàn)Zip壓縮目錄中所有文件的方法
- C#文件目錄操作方法匯總
相關(guān)文章
C#以太網(wǎng)Sockets服務(wù)器設(shè)計(jì)實(shí)現(xiàn)
本文主要介紹了C#以太網(wǎng)Sockets服務(wù)器設(shè)計(jì)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02在C#中使用OpenCV(使用OpenCVSharp)的實(shí)現(xiàn)
這篇文章主要介紹了在C#中使用OpenCV(使用OpenCVSharp)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11C#中DataGridView導(dǎo)出Excel的兩種方法
這篇文章主要介紹了C#中DataGridView導(dǎo)出Excel的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01實(shí)例詳解C#實(shí)現(xiàn)http不同方法的請求
本篇文章給大家分享了C#實(shí)現(xiàn)http不同方法的請求的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,有需要的朋友參考下。2018-07-07Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動(dòng)態(tài)庫文件的配置方法
這篇文章主要介紹了Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動(dòng)態(tài)庫文件的配置方法,本文在VS2008中測試通過,其它VS版本可以參考下2014-09-09C#使用LINQ中Enumerable類方法的延遲與立即執(zhí)行的控制
這篇文章主要介紹了C#的LINQ查詢中Enumerable類方法的延遲與立即執(zhí)行,LINQ語言集成查詢可以讓C#和VB以查詢數(shù)據(jù)庫相同的方式操作內(nèi)存數(shù)據(jù),需要的朋友可以參考下2016-03-03C#實(shí)現(xiàn)windows form倒計(jì)時(shí)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)windows form倒計(jì)時(shí)的方法,涉及C#桌面程序設(shè)計(jì)中時(shí)間操作的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04