using namespace System.IO; string[] lstFiles = Directory.GetFiles(@"c:\temp"); using (StreamWriter sw = new StreamWriter(@"c:\1.txt")) { foreach(string str in lstFiles) { sw.WriteLine(str); } }
using System.IO; //File using System.Drawing.Imaging; //截图API using System.Runtime.InteropServices; //DLL using System.Collections; //Array List using System.Diagnostics; //Process using System.Threading; //Thread public ArrayList al = new ArrayList(); public int aaa = 0; dt2.Columns.Add("No"); dt2.Columns.Add("FileName"); #region GetAllDirList public void GetAllDirList(string strBaseDir) { DirectoryInfo di = new DirectoryInfo(strBaseDir); DirectoryInfo[] diA = di.GetDirectories(); if (aaa == 0) { FileInfo[] fis2 = di.GetFiles(); //有关目录下的文件
for (int i2 = 0; i2 < fis2.Length; i2++) { al.Add(fis2[i2].FullName); //fis2[i2].FullName是根目录中文件的绝对地址,把它记录在ArrayList中 } } for (int i = 0; i < diA.Length; i++) { aaa++; al.Add(diA[i].FullName + "\t<目录>"); //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中 DirectoryInfo di1 = new DirectoryInfo(diA[i].FullName); DirectoryInfo[] diA1 = di1.GetDirectories(); FileInfo[] fis1 = di1.GetFiles(); //有关目录下的文件
if (!dirinfo.Exists)
return; foreach (FileInfo f in dirinfo.GetFiles("*.*"))
{
f.Name ; //楼主自己发挥了
}
//将内容写入到"c:\\a.txt"文件中
FileStream fs = new FileStream("c:\\a.txt", FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);DirectoryInfo dirinfo = new DirectoryInfo("路径");
if (!dirinfo.Exists)
return; foreach(DirectoryInfo di in dirinfo.GetDirectories())
{
sw.WriteLine("文件夹:" + di.FullName + "\n");
sw.Flush();
}foreach (FileInfo f in dirinfo.GetFiles("*.*"))
{
sw.WriteLine("文件:" + f.FullName + "\n");
sw.Flush();
}sw.Close();
fs.Close();
感觉不能写"非文件夹"的文件名称。
文件夹的子文件夹也没找出来using System.IO; //文件输入输出 private void button3_Click(object sender, EventArgs e)
{
string DirPath = "";
DirPath = this.txt_DirPath.Text.Trim().ToString(); //将内容写入到"d:\\a.txt"文件中
FileStream fs = new FileStream("d:\\a.txt", FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs); DirectoryInfo dirinfo = new DirectoryInfo(DirPath);
if (!dirinfo.Exists)
return; //写文件夹名称
foreach (DirectoryInfo di in dirinfo.GetDirectories())
{
sw.WriteLine("文件夹:" + di.FullName + "\n");
sw.Flush();
} //写非文件夹名称(该循环语句不执行)
foreach (FileInfo f in dirinfo.GetFiles("*.*"))
{
sw.WriteLine("文件:" + f.FullName + "\n");
sw.Flush();
} sw.Close();
fs.Close();
}
遍历文件夹
public string GetFolderInfo(string path)
{
if (Directory.Exists(path))
{
if (Directory.GetFileSystemEntries(path).Length == 0)
strFiles = "";
else
{
string[] subdirectoryEntries = Directory.GetDirectories(path);
foreach (string subdirectory in subdirectoryEntries)
{
string[] fileNames = Directory.GetFiles(subdirectory);
foreach (string file in fileNames)
{
FileInfo fi = new FileInfo(file);
strFiles += file.fullName + "<br>";
}
}
GetFolderInfo(subdirectory);
}
}
}
}
StreamWriter writer = null;
string filepath = "F:log.txt";
string message = "";
if (File.Exists(filepath))
{
writer = File.AppendText(filepath);
}
else
{
writer = File.CreateText(filepath);
}
writer.WriteLine(GetFolderInfo(""));
writer.Close();
{
StringBuilder sb=new StringBuilder ();
DirectoryInfo[] directorys = directory.GetDirectories();
FileInfo[] files;
foreach (DirectoryInfo di in directorys)
{
sb.Append(forFileLength(di));
}
files = directory.GetFiles();
foreach(FileInfo file in files)
{
string temp = file.DirectoryName.ToString();
string name = file.Name;
sb.Append(temp +name);
}
return sb.ToString();
}
tree /f /a C:\你的路径 >要保存到的文件.txt如
tree /f /a E:\kkun\Builder\简单三层项目 >文件列表.txt输出:文件夹 PATH 列表
卷序列号为 F057-830D
E:\KKUN\BUILDER\简单三层项目
| EnInsert.sql
| EnSelect.sql
| EnUpdate.sql
|
+---Base
| BLLBase.cs
| DALBase.cs
| EntityBase.cs
| EventBase.cs
|
+---BLL
| EnBLL.cs
| EnBLL.Designer.cs
|
+---DAL
| EnDAL.cs
| EnDAL.Designer.cs
|
+---Entity
| EnEntity.cs
| EnEntity.Designer.cs
|
+---Interface
| IDelete.cs
| IInsert.cs
| ISelect.cs
| IUpdate.cs
|
\---Util
Pager.cs
SqlHelper.cs
TypeConvertor.cs
string[] lstFiles = Directory.GetFiles(@"c:\temp");
using (StreamWriter sw = new StreamWriter(@"c:\1.txt"))
{
foreach(string str in lstFiles)
{
sw.WriteLine(str);
}
}
using System.Drawing.Imaging; //截图API
using System.Runtime.InteropServices; //DLL
using System.Collections; //Array List
using System.Diagnostics; //Process
using System.Threading; //Thread
public ArrayList al = new ArrayList();
public int aaa = 0; dt2.Columns.Add("No");
dt2.Columns.Add("FileName"); #region GetAllDirList
public void GetAllDirList(string strBaseDir) {
DirectoryInfo di = new DirectoryInfo(strBaseDir);
DirectoryInfo[] diA = di.GetDirectories(); if (aaa == 0)
{
FileInfo[] fis2 = di.GetFiles(); //有关目录下的文件
for (int i2 = 0; i2 < fis2.Length; i2++)
{
al.Add(fis2[i2].FullName);
//fis2[i2].FullName是根目录中文件的绝对地址,把它记录在ArrayList中
}
} for (int i = 0; i < diA.Length; i++)
{
aaa++;
al.Add(diA[i].FullName + "\t<目录>");
//diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
DirectoryInfo di1 = new DirectoryInfo(diA[i].FullName);
DirectoryInfo[] diA1 = di1.GetDirectories();
FileInfo[] fis1 = di1.GetFiles(); //有关目录下的文件
for (int ii = 0; ii < fis1.Length; ii++)
{
al.Add(fis1[ii].FullName);
//fis1[ii].FullName是某个子目录中文件的绝对地址,把它记录在ArrayList中 }
GetAllDirList(diA[i].FullName);
//注意:递归了。逻辑思维正常的人应该能反应过来
}
}
#endregion private void GetCurFile_List()
{
btn_facDir.Enabled = false;
dt2.Clear();
string str_path = "e:\\t01\\"; //源文件路径
string dest_path = "e:\\FileList.txt"; //目标文件路径
string tmp = "";
int seq = -1; string str_FileList = "e:\\FileList.txt";
al.Clear();
this.GetAllDirList(str_path); if (File.Exists(str_FileList))
{
File.Delete(str_FileList);
} StreamWriter sw = new StreamWriter(dest_path); //结果写入DataTable和TxtFile
for (int i = 0; i < al.Count; i++)
{
seq = i + 1;
DataRow tmprow = dt2.NewRow();
tmprow["No"] = seq.ToString();
tmprow["FileName"] = al[i].ToString();
dt2.Rows.Add(tmprow); //拼接 "序号+文件名" 字符串
tmp = seq.ToString() + "\t" + al[i].ToString();
sw.WriteLine(tmp); //写入换行符
} sw.Flush();
sw.Close(); this.dgv1.DataSource = dt2;
btn_facDir.Enabled = true;
}