同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 asp.net遍歷文件夾目錄和文件實現(xiàn)程序

asp.net遍歷文件夾目錄和文件實現(xiàn)程序

來源: | 時間:2013/10/30 16:13:09 |

在asp.net中經(jīng)遍歷文件夾需要利用文件對象GetFileSystemInfos() GetDirectories() FileSystemInfo()來實現(xiàn)我們的功能,下面我找了三個目錄遍歷的實例分享給大家。

方法一

 代碼如下

private void forFileLength(DirectoryInfo directory)
{
DirectoryInfo[] directorys = directory.GetDirectories();
FileInfo[] files;
foreach (DirectoryInfo di in directorys)
{
forFileLength(di);
}
files = directory.GetFiles();
foreach(FileInfo file in files)
{
string temp = file.DirectoryName.ToString(); // 當(dāng)前路徑件
string name = file.Name; // name 文件名
}
}
 

方法二

(1)新建一個網(wǎng)站,其中默認(rèn)Web窗體為Default.aspx。

(2)在Default.aspx中添加一個TextBox控件、一個Button控件和一個Lable控件,分別用來輸入遍歷文件夾的路徑、開始遍歷文件夾并獲取文件數(shù)量、顯示遍歷文件的數(shù)量。

(3)單擊【獲取文件數(shù)量】按鈕來獲取指定文件夾下的文件數(shù)量,主要通過調(diào)用自定義方法GetAllFiles實現(xiàn)。在【獲取文件數(shù)量】按鈕的Click事件下添加代碼如下:

 代碼如下 復(fù)制代碼
 

    int j = 0;
    protected void Button1_Click(object sender, EventArgs e)
    {
        DirectoryInfo dir = new DirectoryInfo(TextBox1.Text.ToString());
        Label1.Text = GetAllFiles(dir).ToString();
    }
 

GetAllFiles方法為自定義方法,實現(xiàn)遍歷整個文件夾文件的方法。代碼如下:

 代碼如下 
    public int GetAllFiles(DirectoryInfo dir)
    {
        FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();
        foreach (FileSystemInfo i in fileinfo)
        {
            if (i is DirectoryInfo)
            {
                GetAllFiles((DirectoryInfo)i);
            }
            else
            {
                j++;
            }
        }
        return j;
    }
   

說明:首先要導(dǎo)入命名空間System.IO,GetAllFiles方法可以識別文件夾中的隱藏文件,遍歷出來的文件數(shù)量是文件夾中包括隱藏文件在內(nèi)的所有文件的數(shù)量

方法三

 代碼如下 復(fù)制代碼
protected void Page_Load(object sender, EventArgs e)
        {
            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Server.MapPath(“~/”));
            TreeView treeView1 = new TreeView();
            TreeNode nodeMain = OutPutNodes(dir, null);
            treeView1.Nodes.Add(nodeMain);
            this.form1.Controls.Add(treeView1);
        }
        private TreeNode OutPutNodes(System.IO.DirectoryInfo dir, TreeNode parentNode)
        {
            if (dir == null)
                return null;
            TreeNode dirNode = new TreeNode(dir.Name);
            System.IO.DirectoryInfo[] subDirs = dir.GetDirectories();
            for (int i = 0; i < subDirs.Length; i++)
            {
                OutPutNodes(subDirs[i], dirNode);
            }
            System.IO.FileInfo[] files = dir.GetFiles();
            for (int i = 0; i < files.Length; i++)
            {
                dirNode.ChildNodes.Add(new TreeNode(files[i].Name));
            }
            if (parentNode == null)
            {
                return dirNode;
            }
            else
            {
                parentNode.ChildNodes.Add(dirNode);
                return parentNode;
            }

        }
 

總結(jié)

歷一個文件夾中的文件,需要用到DirectoryInfo類中的一個重要的方法GetFileSystemInfos(),此方法返回指定的是與搜索條件相匹配的文件和子目錄的強類型 FileSystemInfo對象的數(shù)組。

 

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護

推廣和優(yōu)化

微信服務(wù)號