遍历所有当前及下级目录,并记录为XML文件
2004-10-25 13:50
495 查看
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Xml;
namespace WindowsApplication2
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
const string mypath=@"D:/nba2004";
XmlDocument doc=new XmlDocument();
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(192, 232);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(88, 24);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click1);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click1(object sender, System.EventArgs e)
{
string MyPath=mypath.ToUpper();
doc.LoadXml("<FileInfo Name='"+MyPath+"'></FileInfo>");
GetFileInfo(MyPath,doc.DocumentElement);
doc.Save(@"d:/fileinfo.xml");
}
private void GetFileInfo(string strpath,System.Xml.XmlNode node)
{
DirectoryInfo DirInfo=new DirectoryInfo(strpath);
foreach(DirectoryInfo dirinfo in DirInfo.GetDirectories())
{
XmlElement elem = doc.CreateElement("dir");
elem.SetAttribute("Name",dirinfo.Name);
elem.SetAttribute("LastWriteTime",dirinfo.LastWriteTime.ToString());
node.AppendChild(elem);
GetFileInfo(dirinfo.FullName,elem);
}
foreach(FileInfo fileinfo in DirInfo.GetFiles())
{
XmlElement elem = doc.CreateElement("file");
elem.SetAttribute("Name",fileinfo.Name);
elem.SetAttribute("LastWriteTime",fileinfo.LastWriteTime.ToString());
elem.SetAttribute("Length",fileinfo.Length.ToString());
node.AppendChild(elem);
}
}
}
}
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Xml;
namespace WindowsApplication2
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
const string mypath=@"D:/nba2004";
XmlDocument doc=new XmlDocument();
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(192, 232);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(88, 24);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click1);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click1(object sender, System.EventArgs e)
{
string MyPath=mypath.ToUpper();
doc.LoadXml("<FileInfo Name='"+MyPath+"'></FileInfo>");
GetFileInfo(MyPath,doc.DocumentElement);
doc.Save(@"d:/fileinfo.xml");
}
private void GetFileInfo(string strpath,System.Xml.XmlNode node)
{
DirectoryInfo DirInfo=new DirectoryInfo(strpath);
foreach(DirectoryInfo dirinfo in DirInfo.GetDirectories())
{
XmlElement elem = doc.CreateElement("dir");
elem.SetAttribute("Name",dirinfo.Name);
elem.SetAttribute("LastWriteTime",dirinfo.LastWriteTime.ToString());
node.AppendChild(elem);
GetFileInfo(dirinfo.FullName,elem);
}
foreach(FileInfo fileinfo in DirInfo.GetFiles())
{
XmlElement elem = doc.CreateElement("file");
elem.SetAttribute("Name",fileinfo.Name);
elem.SetAttribute("LastWriteTime",fileinfo.LastWriteTime.ToString());
elem.SetAttribute("Length",fileinfo.Length.ToString());
node.AppendChild(elem);
}
}
}
}
相关文章推荐
- 遍历所有当前及下级目录,并记录为XML文件
- Shell编程:在当前目录下遍历所有文件和子目录及子目录下的文件
- 用PHP遍历当前目录下所有文件
- 遍历删除当前目录下所有文件
- 遍历删除当前目录下所有文件
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- 遍历当前文件目录并且删除所有最近一周没有修改的文件(C/C++)
- Linux目录遍历实现 -- 列出当前目录下所有文件
- 遍历当前目录下所有的.h文件,并将其路径保存到文件中
- javaIO流的应用1--遍历当前目录下的所有文件
- 遍历当前目录下并输出所有文件
- linux下遍历当前目录下的所有文件和目录
- Ubuntu 循环遍历当前目录下所有文本文件中的字符
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- Delphi 计算指定目录下所有文件的大小(遍历文件夹所有文件及目录)
- 获取当前目录下所有文件的文件名
- PHP遍历指定目录,并存储目录内所有文件属性信息
- 删除目录下所有文件和子目录(不包括当前目录)
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- java_递归遍历文件目录结构,打印所有的目录名和文件名