将一个目录下的所有文件的文件名存入一个数组中
2004-07-10 10:40
441 查看
//CSDN看到的,放在这里先,有时间研究一下^_^
using System;
using System.Collections;
using System.IO;
namespace ZZ
{
class ZZTest
{
static void Main()
{
string [] files = GetFiles("G://back");
foreach(string file in files)
{
Console.WriteLine(file);
}
Console.ReadLine();
}
public static string[] GetFiles(string path)
{
ArrayList files = new ArrayList();
//获取当前目录下的文件
foreach(string file in Directory.GetFiles(path))
{
files.Add(file);
}
//获取当前目录下的子目录文件
foreach(string dir in Directory.GetDirectories(path))
{
GetFiles(dir,files);
}
return (string [])files.ToArray(typeof(string));
}
//递归函数
public static void GetFiles(string path,ArrayList files)
{
//获取当前目录下的文件
foreach(string file in Directory.GetFiles(path))
{
files.Add(file);
}
//获取当前目录下的子目录文件
foreach(string dir in Directory.GetDirectories(path))
{
GetFiles(dir,files);
}
}
}
}
====================================
//C#遍历文件夹
using System;
using System.Data;
using System.Collections;
using System.Xml;
using System.IO;
using System.Net;
using System.Text;
using System.Diagnostics;
namespace ZZConsoleTest
{
public class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
string [] fileNameArray = GetFileNamesWithArray("D://zhzuo//music");
foreach(string name in fileNameArray)
{
Console.WriteLine(name);
}
Console.WriteLine("================================================");
ArrayList fileNames = GetFileNamesWithArrayList("D://zhzuo//music");
foreach(object name in fileNameArray)
{
Console.WriteLine((string)name);
}
Console.WriteLine("完成");
Console.ReadLine();
}
//递归方法
private static void ListAllFiles(string sourceDir,ArrayList al)
{
foreach(string fileName in Directory.GetFiles(sourceDir))
{
al.Add(fileName);
}
foreach(string subDir in Directory.GetDirectories(sourceDir))
{
ListAllFiles(subDir,al);
}
}
//用ArrayList方式返回
public static ArrayList GetFileNamesWithArrayList(string sourceDir)
{
ArrayList al = new ArrayList();
ListAllFiles(sourceDir,al);
return al;
}
//用string[]方式返回
public static string[] GetFileNamesWithArray(string sourceDir)
{
ArrayList al = new ArrayList();
ListAllFiles(sourceDir,al);
return (string[])al.ToArray(typeof(string));
}
}
}
==================================
/// <summary>
/// 将指定目录下的子目录和文件生成xml文档
/// </summary>
/// <param name="targetDir">根目录</param>
/// <returns>返回XmlDocument对象</returns>
public static XmlDocument CreateXml(string targetDir)
{
XmlDocument myDocument = new XmlDocument();
XmlDeclaration declaration = myDocument.CreateXmlDeclaration("1.0","utf-8",null);
myDocument.AppendChild(declaration);
XmlElement rootElement = myDocument.CreateElement(targetDir.Substring(targetDir.LastIndexOf("//")+1));
myDocument.AppendChild(rootElement);
foreach(string fileName in Directory.GetFiles(targetDir))
{
XmlElement childElement = myDocument.CreateElement("File");
childElement.InnerText = fileName.Substring(fileName.LastIndexOf("//")+1);
rootElement.AppendChild(childElement);
}
foreach(string directory in Directory.GetDirectories(targetDir))
{
XmlElement childElement = myDocument.CreateElement("Directory");
childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("//")+1));
rootElement.AppendChild(childElement);
CreateBranch(directory,childElement,myDocument);
}
return myDocument;
}
/// <summary>
/// 生成Xml分支
/// </summary>
/// <param name="targetDir">子目录</param>
/// <param name="xmlNode">父目录XmlDocument</param>
/// <param name="myDocument">XmlDocument对象</param>
private static void CreateBranch(string targetDir,XmlElement xmlNode,XmlDocument myDocument)
{
foreach(string fileName in Directory.GetFiles(targetDir))
{
XmlElement childElement = myDocument.CreateElement("File");
childElement.InnerText = fileName.Substring(fileName.LastIndexOf("//")+1);
xmlNode.AppendChild(childElement);
}
foreach(string directory in Directory.GetDirectories(targetDir))
{
XmlElement childElement = myDocument.CreateElement("Directory");
childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("//")+1));
xmlNode.AppendChild(childElement);
CreateBranch(directory,childElement,myDocument);
}
}
using System;
using System.Collections;
using System.IO;
namespace ZZ
{
class ZZTest
{
static void Main()
{
string [] files = GetFiles("G://back");
foreach(string file in files)
{
Console.WriteLine(file);
}
Console.ReadLine();
}
public static string[] GetFiles(string path)
{
ArrayList files = new ArrayList();
//获取当前目录下的文件
foreach(string file in Directory.GetFiles(path))
{
files.Add(file);
}
//获取当前目录下的子目录文件
foreach(string dir in Directory.GetDirectories(path))
{
GetFiles(dir,files);
}
return (string [])files.ToArray(typeof(string));
}
//递归函数
public static void GetFiles(string path,ArrayList files)
{
//获取当前目录下的文件
foreach(string file in Directory.GetFiles(path))
{
files.Add(file);
}
//获取当前目录下的子目录文件
foreach(string dir in Directory.GetDirectories(path))
{
GetFiles(dir,files);
}
}
}
}
====================================
//C#遍历文件夹
using System;
using System.Data;
using System.Collections;
using System.Xml;
using System.IO;
using System.Net;
using System.Text;
using System.Diagnostics;
namespace ZZConsoleTest
{
public class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
string [] fileNameArray = GetFileNamesWithArray("D://zhzuo//music");
foreach(string name in fileNameArray)
{
Console.WriteLine(name);
}
Console.WriteLine("================================================");
ArrayList fileNames = GetFileNamesWithArrayList("D://zhzuo//music");
foreach(object name in fileNameArray)
{
Console.WriteLine((string)name);
}
Console.WriteLine("完成");
Console.ReadLine();
}
//递归方法
private static void ListAllFiles(string sourceDir,ArrayList al)
{
foreach(string fileName in Directory.GetFiles(sourceDir))
{
al.Add(fileName);
}
foreach(string subDir in Directory.GetDirectories(sourceDir))
{
ListAllFiles(subDir,al);
}
}
//用ArrayList方式返回
public static ArrayList GetFileNamesWithArrayList(string sourceDir)
{
ArrayList al = new ArrayList();
ListAllFiles(sourceDir,al);
return al;
}
//用string[]方式返回
public static string[] GetFileNamesWithArray(string sourceDir)
{
ArrayList al = new ArrayList();
ListAllFiles(sourceDir,al);
return (string[])al.ToArray(typeof(string));
}
}
}
==================================
/// <summary>
/// 将指定目录下的子目录和文件生成xml文档
/// </summary>
/// <param name="targetDir">根目录</param>
/// <returns>返回XmlDocument对象</returns>
public static XmlDocument CreateXml(string targetDir)
{
XmlDocument myDocument = new XmlDocument();
XmlDeclaration declaration = myDocument.CreateXmlDeclaration("1.0","utf-8",null);
myDocument.AppendChild(declaration);
XmlElement rootElement = myDocument.CreateElement(targetDir.Substring(targetDir.LastIndexOf("//")+1));
myDocument.AppendChild(rootElement);
foreach(string fileName in Directory.GetFiles(targetDir))
{
XmlElement childElement = myDocument.CreateElement("File");
childElement.InnerText = fileName.Substring(fileName.LastIndexOf("//")+1);
rootElement.AppendChild(childElement);
}
foreach(string directory in Directory.GetDirectories(targetDir))
{
XmlElement childElement = myDocument.CreateElement("Directory");
childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("//")+1));
rootElement.AppendChild(childElement);
CreateBranch(directory,childElement,myDocument);
}
return myDocument;
}
/// <summary>
/// 生成Xml分支
/// </summary>
/// <param name="targetDir">子目录</param>
/// <param name="xmlNode">父目录XmlDocument</param>
/// <param name="myDocument">XmlDocument对象</param>
private static void CreateBranch(string targetDir,XmlElement xmlNode,XmlDocument myDocument)
{
foreach(string fileName in Directory.GetFiles(targetDir))
{
XmlElement childElement = myDocument.CreateElement("File");
childElement.InnerText = fileName.Substring(fileName.LastIndexOf("//")+1);
xmlNode.AppendChild(childElement);
}
foreach(string directory in Directory.GetDirectories(targetDir))
{
XmlElement childElement = myDocument.CreateElement("Directory");
childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("//")+1));
xmlNode.AppendChild(childElement);
CreateBranch(directory,childElement,myDocument);
}
}
相关文章推荐
- 得到一个指定目录下所有文件的文件名,子目录名不要
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 读取目录下文件名,存入一个文件
- C++中将某个目录下的所有文件名读到一个数组里
- java读取目录下所有csv文件数据,存入三维数组并返回
- 写一个bat文件,删除文件名符合特定规则,且更改日期在某个日期之前的所有目录
- 扫描一个目录下的所有文件,获得文件名
- TCHAR CHAR WCHAR转换 和 获取一个目录下所有文件名及修改特定文件
- java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 如何是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
- 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- 用VB将目录里所有文件及子目录存储到一个类型数组中后,将基其反映在Treeview控件上
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 如何获取一个目录下包含子目录内的所有文件名,并保存在一个数组中或XML文档里
- 遍历一个目录下的所有文件
- 记录1——loadrunner 浏览一个目录以及它的所有子目录直至浏览完到没有子目录为止(空目录或者文件)
- 写一个遍历目录下所有文件以及子目录的函数
- 黑马程序员-列出一个目录中所有指定文件,使用FilenameFilter类