foldPath = dialog.SelectedPath;
this.label4.Text = foldPath;
DirectoryInfo TheFolder = new DirectoryInfo(foldPath);
fileName = Path.GetFileName(dialog.SelectedPath);//获取当前打开文件夹名称
foreach (FileInfo NextFile in TheFolder.GetFiles())
{
this.listBox1.Items.Add(NextFile.Name);
string tempStr = File.ReadAllText(NextFile.FullName, Encoding.GetEncoding("GB2312"));//读取txt内容
this.richTextBox1.Text = tempStr;
}这个方法就只能遍历第一个文件的所有内容,我用listBox1显示出了所有的文件名称,请问下要怎么遍历全部文件呢?
解决方案 »
- WCF,如何返回服务器的远程对象回客户端
- 在WCF服务中加载程序集出错
- 有关WinForm C#中的listView中的SelectedIndexChange属性?
- C#与Java(Standard Edition)优缺点
- 请教:C#拖放的问题!!
- c#中可以给一个类动态增加成员吗?
- 想包装WinForm中的TextBox控件,Enabled的时候将字体变成蓝色,Disable的时候将字体变成黑色?高手指点该如何做,高分回报,谢谢
- 如何通过textbox输入直接向datagridview中添加新行?
- 私钥不能被序列化?没有找到相关说明文档?
- 有谁开发过QQ一类的软件,能给个方案或设计文档之类的吗?
- 我的sql server2008 本地服务器显示空
- C#语音编程有一步过不去,求帮助!
private void ScanAllFolder(string pathName)
{
try
{
if (!Directory.Exists(pathName))
{
return;
}
DirectoryInfo processDirectory = new DirectoryInfo(pathName);
FileSystemInfo[] fileSystemInfos = processDirectory.GetFileSystemInfos();
foreach (FileSystemInfo fileSystemInfo in fileSystemInfos)
{
if (fileSystemInfo is DirectoryInfo &&
fileSystemInfo.Attributes != FileAttributes.Hidden &&
fileSystemInfo.Attributes != FileAttributes.System)
{
DirectoryInfo directoryInfo = (DirectoryInfo)fileSystemInfo;
this.ScanAllFolder(directoryInfo.FullName);
}
else if (fileSystemInfo is FileInfo &&
fileSystemInfo.Attributes != FileAttributes.Hidden &&
fileSystemInfo.Attributes != FileAttributes.System)
{
FileInfo fileInfo = (FileInfo)fileSystemInfo;
//处理单个文件
}
}
}
catch (Exception ex)
{
//Debug.Assert(false, ex.Message);
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
namespace ConsoleApplication6
{
class GetFilePath
{
private ArrayList dirs;
/// <summary>
/// 构造函数
/// </summary>
public GetFilePath()
{
dirs = new ArrayList();
}
/// <summary>
/// 获取所有文件
/// </summary>
/// <param name="rootPath">文件夹路径</param>
/// <returns>所有文件路径集合</returns>
public ArrayList GetAllFileName(string rootPath)
{
dirs.Add(rootPath);
GetDirs(rootPath);
object[] allDir = dirs.ToArray();
ArrayList list = new ArrayList();
foreach (object o in allDir)
{
list.AddRange(GetFileName(o.ToString()));
}
return list;
}
/// <summary>
/// 获取文件名
/// </summary>
/// <param name="dirPath">文件夹路径</param>
/// <returns>文件路径集合</returns>
private ArrayList GetFileName(string dirPath)
{
ArrayList list = new ArrayList();
if (Directory.Exists(dirPath))
{
list.AddRange(Directory.GetFiles(dirPath));
}
return list;
}
/// <summary>
/// 获取所有文件夹路径
/// </summary>
/// <param name="dirPath">文件夹路径</param>
private void GetDirs(string dirPath)
{
if (Directory.GetDirectories(dirPath).Length > 0)
{
foreach (string path in Directory.GetDirectories(dirPath))
{
dirs.Add(path);
GetDirs(path);
}
}
}
}
}
DirectoryInfo folder = new DirectoryInfo(@"D:\");
if (!folder.Exists)
throw new DirectoryNotFoundException("该文件不存在"); //遍历该文件夹下面的子文件夹
Console.WriteLine("DirectoryInfo");
foreach (DirectoryInfo item in folder.GetDirectories())
Console.WriteLine(item.Name); Console.WriteLine();
Console.WriteLine("FileInfo");
//遍历该文件夹下面的文件
foreach (FileInfo item in folder.GetFiles())
{
Console.WriteLine(item.Name);
Console.WriteLine(File.ReadAllText(item.FullName, Encoding.GetEncoding("GB2312")));
} Console.Read();