//参考网上的一些资料 学习并整理了下 以下为win32控制台程序源码: (输入路径后 会显示文件夹下的所有文件名称)
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string pathnames = null;
do
{
Console.Write("/n请输入目录路径名(输入x退出程序):");
pathnames = Console.ReadLine();
if ((pathnames == "X") || (pathnames == "x"))
break;
DirectoryInfo di = new DirectoryInfo(pathnames);
if (di == null)
{
return;
}
FileSystemInfo[] fs = di.GetFileSystemInfos();
foreach (FileSystemInfo f2 in fs)
{
FileInfo file = f2 as FileInfo;
if (file != null)
{
Console.Write("/n"+file.Name);
}
else
{
CFileList FileListTest = new CFileList();
FileListTest.FileList(f2);
}
}
} while (true);
Console.Write("/n程序已终止,按任意键退出程序!");
Console.ReadKey();
}
}
class CFileList
{
public void FileList(FileSystemInfo f)//FileList为自己创建的方法
{
if (!f.Exists)//先判断f所指的文件或文件夹是否存在
{
return;
}
DirectoryInfo di = f as DirectoryInfo;
if (di == null)
{
return;
}
FileSystemInfo[] fs = di.GetFileSystemInfos();//获取文件夹中所有文件和文件夹
//下而对单个FileSystemInfo进行判断,如果是文件夹则进行递归操作
foreach (FileSystemInfo f2 in fs)
{
FileInfo file = f2 as FileInfo;
if (file != null)
{
Console.Write("/n"+file.Name);//如果是文件则将文件名加入到listBox1
}
else
{
FileList(f2);
}
}
}
}
}