using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;public partial class TreeViewDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//获取当前服务器上所有的磁盘分区
string[] driverList= Directory.GetLogicalDrives();
DriveInfo driverInfo = null;
for (int i = 0; i < 1; i++)//driverList.Length;
{
driverInfo = new DriveInfo(driverList[i]);
if (driverInfo.DriveType == DriveType.Fixed)
{
TreeNode node = new TreeNode(driverList[i]);
tvFileList.Nodes.Add(node);
AddNode(driverList[i],node);
}
}
}
} private void AddNode(string path,TreeNode node)
{
DirectoryInfo info = new DirectoryInfo(path);
DirectoryInfo[] dirList=info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹
//info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件
for (int i = 0; i < dirList.Length; i++)
{
string name=dirList[i].Name;
if (name != "System Volume Information")
{
TreeNode subNode = new TreeNode(name);
node.ChildNodes.Add(subNode);
//继续递归调用本方法
AddNode(dirList[i].FullName,subNode);
}
}
}
}
解决方案 »
- 获取一组字符窜里的关键字!急急急!
- panel 滚动问题
- C#对象的实例化
- datagrid新增问题!!
- c#用MySql.Data.dll连接mysql问题
- Winform 程序中,添加引用一个组件,默认总是放在应用程序根目录下,我想放在一个MyDLL 目录下,怎么做??
- 超新手问题
- 索引超出范围。DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)dataGrid1.TableStyles[0].GridColumnStyles[0];
- 【代码】请问如何在ASPX页面上定时对mobile:TextView控件的Text进行改变(在页面已经加载完毕的情况下)
- 请问哪里有 水晶报表 for .net 的帮助?
- 关于System.Diagnostics.Process.Start
- frameset,居中760怎么设置,谢谢各位高手啦!
System.IO.Directory.GetDirectories("O:\");
System.IO.Directory.GetFiles("O:\");
public void FindAllFile(string path)
{
DirectoryInfo[] ChildDirectory;//子目录集
FileInfo[] NewFileInfo;//当前所有文件
DirectoryInfo FatherDirectory=new DirectoryInfo(path); //当前目录
ChildDirectory=FatherDirectory.GetDirectories("*.*"); //得到子目录集
NewFileInfo=FatherDirectory.GetFiles();//得到文件集,可以进行操作
foreach(DirectoryInfo dirInfo in ChildDirectory)
{
FindAllFile(dirInfo.FullName);
}
}
public ArrayList al=new ArrayList();public void GetAllDirList(string strBaseDir)
{
DirectoryInfo di=new DirectoryInfo(strBaseDir);
DirectoryInfo[] diA=di.GetDirectories();
for(int i=0;i<diA.Length;i++)
{
al.Add(diA[i].FullName);
//diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
GetAllDirList(diA[i].FullName);
//注意:递归了。逻辑思维正常的人应该能反应过来
}
}
/// 获取盘符
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnGetDisk_Click(object sender, EventArgs e)
{
//获取当前服务器上所有的磁盘分区
//string[] driverList = Directory.GetLogicalDrives();
//DriveInfo driverInfo = null;
//for (int i = 0; i < 1; i++)//driverList.Length;
//{
// driverInfo = new DriveInfo(driverList[i]);
// if (driverInfo.DriveType == DriveType.Fixed)
// {
// TreeNode node = new TreeNode(driverList[i]);
// //tvFileList.Nodes.Add(node);
// treeView1.Nodes.Add(node);
// AddNode(driverList[i], node);
// }
//}//path的值用folderBrowerdialog获取也行
string path = @"f:\"; TreeNode node = new TreeNode(path);
treeView1.Nodes.Add(node);
AddNode(path, node);
}
private void AddNode(string path, TreeNode node)
{
DirectoryInfo info = new DirectoryInfo(path);
DirectoryInfo[] dirList = info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹
//info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件
for (int i = 0; i < dirList.Length; i++)
{
string name = dirList[i].Name;
TreeNode subNode = new TreeNode(name);
node.Nodes.Add(subNode);
//node.ChildNodes.Add(subNode);
//继续递归调用本方法
AddNode(dirList[i].FullName, subNode);
}
}