搜档网
当前位置:搜档网 › c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹
c#遍历一个文件夹下的所有文件包括子文件夹

using System;

using System.IO;

class ListAllFilesDemo

{

public static void Main()

{

Console.Write( "请输入要查询的目录: ");

string dir = Console.ReadLine();

try

{

ListFiles(new DirectoryInfo(dir));

}

catch(IOException e)

{

Console.WriteLine(e.Message);

}

}

public static void ListFiles(FileSystemInfo info)

{

if(!info.Exists) return;

DirectoryInfo dir = info as DirectoryInfo;

//不是目录

if(dir == null) return;

FileSystemInfo [] files = dir.GetFileSystemInfos();

for(int i = 0; i < files.Length; i++)

{

FileInfo file = files[i] as FileInfo;

//是文件

if(file != null)

Console.WriteLine(file.FullName + "\t " + file.Length);

//对于子目录,进行递归调用

else

ListFiles(files[i]);

}

}

}

C#中遍历目录下的目录的文件(二)

1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法:

DirectoryInfo dir = new DirectoryInfo(@"c:\");

foreach(DirectoryInfo dChild in dir.GetDirectories("*"))

{//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示

Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印目录名

Response.Write(dChild.FullName + "
");//打印路径和目录名}

2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法:

DirectoryInfo dir = new DirectoryInfo(@"c:\");

foreach(DirectoryInfo dChild in dir.GetFiles("*"))

{//如果用GetFiles("*.txt"),那么全部txt文件会被显示

Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印文件名

Response.Write(dChild.FullName + "
");//打印路径和文件名}

如何获取指定目录包含的文件和子目录

1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;

2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;

3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;

如何获取指定文件的基本信息;

FileInfo.Exists:获取指定文件是否存在;

https://www.sodocs.net/doc/603266322.html,,FileInfo.Extensioin:获取文件的名称和扩展名;

FileInfo.FullName:获取文件的全限定名称(完整路径);

FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;

FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);

FileInfo.Length:获取文件的大小(字节数);

FileInfo.IsReadOnly:获取文件是否只读;

FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合

FileInfo.CreationTime、https://www.sodocs.net/doc/603266322.html,stAccessTime、https://www.sodocs.net/doc/603266322.html,stWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;

采用递归的方式遍历,文件夹和子文件中的所有文件。

public void FindFile(string dirPath) //参数dirPath为指定的目录

{

//在指定目录及子目录下查找文件,在listBox1中列出子目录及文件DirectoryInfo Dir=new DirectoryInfo(dirPath);

try

{

foreach(DirectoryInfo d in Dir.GetDirectories()//查找子目录

{

FindFile(Dir+d.ToString()+"\");

listBox1.Items.Add(Dir+d.ToString()+"\"); //listBox1中填加目录名}

foreach(FileInfo f in Dir.GetFiles("*.---")) //查找文件

{

listBox1.Items.Add(Dir+f.ToString()); //listBox1中填加文件名

}

}

catch(Exception e)

{

MessageBox.Show(e.Message);

}

}

用下面代码限制文件的类型:

foreach(FileInfo f in Dir.GetFiles("*.---")) //查找文件

“*.---”指要访问的文件的类型的扩展名

树的遍历:文件目录结构的显示

数据结构课程设计报告 树的遍历:文件目录结构的显示 专业 计算机科学与技术 学生姓名 **** 班级 计算机*** 学号 ***** 指导教师 徐燕萍 完成日期 2014年7月4日

目录 1、设计内容 (2) 2、设计分析 (3) 2.1建立树形链表结构的函数PARSE() (3) 2.2目录大小重新计算函数RE S IZE() (4) 2.3输出树形结构的函数OUT P UT() (5) 3、设计实践 (5) 4、测试方法 (14) 4.1测试目的 (14) 4.2测试输入 (15) 4.3正确输出 (15) 4.4实际输出 (17) 5 程序运行效果 (19) 5.1测试结果分析 (19) 5.2探讨与改进 (19) 6 设计心得 (20) 1

树的遍历:文件目录结构的显示 1、设计内容 给出Unix下目录和文件信息,要求编程实现将其排列成一定缩进的树。具体要求如下。输入要求: 输入数据包含几个测试方案。每一个案例由几行组成,每一行都代表了目录树的层次结构。第一行代表目录的根节点。若是目录节点,那么它的孩子节点将在第二行中被列出,同时用一对圆括号“()”界定。同样,如果这些孩子节点钟某一个也是目录的话,那么这个目录所包含的内容将在随后的一行中列出,有一对圆括号将首位界定。目录的输入格式为:*name size,文件的输入格式为:name size,其中*代表当前节点的目录,name代表文件或目录的名称,由一串长度不大于10的字符组成,并且name字符串中不能包含有‘(’,‘)’,‘[’,‘]’,‘*’。size是该文件/目录的大小,为大于0的整数。每一个案例中最多只能包含10层,每一层最多有10个文件/目录。 输出要求: 对每一个测试案例,输出时要求:第d层的文件/目录名前面需要插入8*d个空格,兄弟节点之间要在同一列上。不要使用Tab(制表符)来统一输出的缩进。每一个目录的大小(size)是它包含的所有子目录和文件大小以及它自身大小的总和。 输入例子: */usr1 (*mark 1 *alex 1) (hw.c3 *course 1)(hw.c 5) (aa.txt 12) */usr 1 () 表示含有两个不同的根目录,目录名都是/usr,第一个根目录/usr 下包含mark和alex两个子目录,mark目录下包含大小为3的文件hw.c和子目录course,alex目录下有一个大小为5的文件hw.c,子目录course下包含文件aa.txt,其大小为12;第二个根目录/usr下为空。 2

Linux C :遍历输出指定目录下的所有文件

Linux C :遍历输出指定目录下的所有文件 在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件: #include #include opendir函数的原型为: DIR *opendir(const char *name); 它返回一个DIR*类型,这就是一个句柄啦,你不用管它的内部结构是什么样的,只要知道这个句柄就是等一下要传给readdir()函数的参数就行了。 readdir函数的原型为: struct dirent *readdir(DIR *dir); 看它的参数就知道该参数是opendir函数返回的句柄,而该函数的返回值是struct dirent* 类型,这里我们必须了解一下这个结构体: struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* offset to the next dirent */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }; 这个结构体的d_name存放的就是文件的名字,这里的文件包括普通文件,目录文件等等,在linux的思想中,所有的东西都是文件。 closedir函数的原型为: int closedir(DIR *dir); 这个函数就不用多说了,一般有开(open),就有关(close),这样的结构经常可出看到,如fopen,fclose等等。 三个函数介绍完了,直接来一个例子吧: SearchDir.c#include #include #include #include #include char filename[256][256]; int len = 0; int trave_dir(char* path, int depth) { DIR *d; //声明一个句柄 struct dirent *file; //readdir函数的返回值就存放在这个结构体中 struct stat sb;

C#读写文件、遍历文件、打开保存文件

C#读写文件、遍历文件、打开保存文件 using System; using System.Collections.Generic; using https://www.sodocs.net/doc/603266322.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespaceFileReadWriteDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //遍历文件- 浏览按钮 private void buttonBrowse_Click(object sender, EventArgs e) { OpenFileDialogofd = new OpenFileDialog(); ofd.Filter = "(*.*)|*.*"; //过滤文件类型 ofd.RestoreDirectory = true; //记忆上次浏览路径 if(ofd.ShowDialog() == DialogResult.OK) { DirectoryInfodir = Directory.GetParent(ofd.FileName); //获取文件所在的父目录 textBox1.Text = dir.ToString()+"\\"; } } //遍历文件- 遍历按钮 private void buttonTransform_Click(object sender, EventArgs e) { listBox1.Items.Clear();

C#遍历目录下的所有文件夹

//这个是网上转的上一个也是仿照这个改的同样是win32控制台程序学习! using System; using System.Collections.Generic; using System.Text; using System.IO; namespace TestFileInfo { class Program { static void Main(string[] args) { string pathNames=null; do { Console.Write("请输入目录路径名(输入x退出程序):"); pathNames = Console.ReadLine(); if ((pathNames == "X") || (pathNames == "x")) break; DirectoryInfo dirPath = new DirectoryInfo(pathNames); CDirectoryInfo dirObject = new CDirectoryInfo(); Console.Write(dirObject.GetDirectoryInfos(dirPath)); Console.WriteLine("______________________________________________ ________/n"); //dirObject.pathNameProp = null; //Console.Write(dirObject.GetDirectoryInfos(pathNames)); //Console.WriteLine("_____________________________________________ ________"); } while (true);//((pathName == "X") || (pathName == "x")); Console.Write("/n程序已终止,按任意键退出程序!"); Console.ReadKey(); } }

用vba遍历文件夹和子文件夹中的所有文件

在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹 using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info)

{ if (!info.Exists) return; else { DirectoryInfo dirInfo = info as DirectoryInfo; if (dirInfo != null) { foreach (var file in dirInfo.GetFileSystemInfos()) { FileInfo fileInfo = file as FileInfo; if (fileInfo != null) Console.WriteLine(fileInfo.FullName); else { listFiles(file as DirectoryInfo); } } }

} } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印文件名

递归遍历目录的实现(c)

由于工作中需要使用到遍历目录,所以就自己收集整理相关资料,写了下面的函数,希望对大家有所帮助。 #include #include #include #include //将数组myarray的内容复制到数组S中 void initarray(char s[],char myarray[]) { int i; for(i=0;i

VB6遍历文件夹

//思路: 使用FINDFIRST FINDNEXT 函数递归实现查找 /* 在VB中WIN32_FIND_DATA 的 cFileName 返回的总是256个字符即MAX_PATH长度的字符,其中包含文件名和空格,需用getstr 获取取中的文件名 */ ’程序: '引用 microsft scripting runtime Dim file As New FileSystemObject Dim txtstream As TextStream Public Sub cbfindfile(str2 As String) fext = getext(str2) If (LCase(fext) = "cpp" Or LCase(fext) = "h" Or LCase(fext) = "inc" Or LCase(fext) = "txt" Or LCase(fext) = "doc") Then Set txtstream = file.OpenTextFile(str2, ForReading) strtxt = LCase(txtstream.ReadAll) pos = InStr(1, strtxt, "p0", 1) '查找的内容 If (pos <> 0) Then Form1.List1.AddItem str2 End If End If End Sub Private Sub Command1_Click() findfile "d:\51" End Sub

’模块文件: Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long '查找下一个文件的API Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long '获取文件属性的API Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long '关闭查找文件的API Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long Const MAX_PATH = 260 Const MAXDWORD = &HFFFF Const FILE_ATTRIBUTE_DIRECTORY = &H10 Public Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Dim tempstr As String '定义类(用于查找文件) Public Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long

使用boost中的filesystem类库遍历某个目录所有的文件

使用boost中的filesystem类库遍历某个目录所有的文件 #include #include 使用boost中的filesystem类库遍历某个目录所有的文件 int GetAllFileOfPath(const string strPath) { namespace fs = boost::filesystem; // 得到配置文件夹. if ( strPath.size() < 2 ) { return 0; } fs::path full_path( fs::initial_path() ); full_path = fs::system_complete( fs::path( strPath, fs::native ) ); unsigned long file_count = 0; unsigned long dir_count = 0; unsigned long err_count = 0; if ( !fs::exists( full_path ) ) { std::cout << "找不到配置文件目录,请检查该目录是否存在:" std::cout << full_path.native_file_string() << std::endl; return -1; } // 遍历配置文件所在的文件夹,得到所有的配置文件名. if ( fs::is_directory( full_path ) ) { fs::directory_iterator end_iter; for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr ) { try { if ( fs::is_directory( *dir_itr ) ) {

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject)

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject) 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第一种方法:使用filesearch对象 Sub mysearch() Dim fs, i, arr(1 To 10000) Set fs = Application.FileSearch '设置一个搜索对象 With fs .LookIn = ThisWorkbook.Path & "/" '设置搜索路径 .Filename = "*.xls" '要搜索文件名和类型 .SearchSubFolders = True '是否需要搜索子文件夹 If .Execute > 0 Then '如果找不到文件 MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." '显示文件找不到 For i = 1 To .FoundFiles.Count '通过循环把所有搜索到的文件存入到数组中 arr(i) = .FoundFiles(i) Next i Sheets(1).Range("A1").Resize(.FoundFiles.Count) = Application.Transpose(arr) ' '把数组内的路径和文件名放在单元格中 Else MsgBox "There were no files found." End If End With End Sub 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "/" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info) { if(!info.Exists) return; DirectoryInfo dir = info as DirectoryInfo; //不是目录 if(dir == null) return; FileSystemInfo [] files = dir.GetFileSystemInfos(); for(int i = 0; i < files.Length; i++) { FileInfo file = files[i] as FileInfo; //是文件 if(file != null)

Console.WriteLine(file.FullName + "\t " + file.Length); //对于子目录,进行递归调用 else ListFiles(files[i]); } } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/603266322.html, + "
");//打印文件名 Response.Write(dChild.FullName + "
");//打印路径和文件名}

用vba遍历文件夹和子文件夹中的所有文件

精品文档 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub .

【IT专家】Python文件操作及文件夹遍历

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Python文件操作及文件夹遍历 2013/12/07 808 ?os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径os.listdir() 返回指定目录下的所有文件和目录名os.remove() 函数用来删除一个文件os.removedirs(r“c:\python”)删除多个目录os.path.isfile() 检验给出的路径是否是一个文件os.path.isdir() 检验给出的路径是否是一个目录os.path.isabs() 判断是否是绝对路径os.path.exists() 检验给出的路径是否真地存os.path.split() 返回一个路径的目录名和文件名eg: os.path.split(‘/home/swaroop/byte/code/poem.txt’) 结果:(‘/home/swaroop/byte/code’, ‘poem.txt’) os.path.splitext() 分离扩展名os.path.dirname() 获取路径名os.path.basename() 获取文件名os.system() 运行shell命令os.getenv() 与os.putenv()读取和设置环境变量os.linesep Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’ 给出当前平台使用的行终止符https://www.sodocs.net/doc/603266322.html, 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’指示你正在使用的平台os.rename(old,new)重命名os.makedirs(r“c:\python\test”)创建多级目录os.mkdir(“test”)创建单个目录os.stat(file)获取文件属性os.chmod(file)修改文件权限与时间戳os.exit()终止当前进程os.path.getsize(filename)获取文件大小 ?文件操作:os.mknod(“test.txt”) 创建空文件fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件 ?关于open 模式: ?w以写方式打开,a以追加模式打开(从EOF 开始, 必要时创建新文件)r+以读写模式打开w+以读写模式打开(参见w )a+以读写模式打开(参见 a )rb以二进制读模式打开wb以二进制写模式打开(参见w )ab以二进制追加模式打开(参见a )rb+以二进制读写模式打开(参见r+ )wb+以二进制读写模式打开(参见w+ )ab+以二进制读写模式打开(参见a+ ) ? fp.read([size])#size为读取的长度,以byte为单位

C++遍历目录下所有文件名

#include "stdlib.h" #include "direct.h" #include "string.h" #include "string" #include "io.h" #include "stdio.h" #include #include "iostream" using namespace std; /******************说明********************* 能够读出指定目录下所有指定类型的文件名,而且 支持通配符过滤特定类型文件。同时也能够输出文件总数和子目录总数**************************************/ class CBrowseDir { protected: //存放初始目录的绝对路径,以'\'结尾 char m_szInitDir[_MAX_PATH]; public: //缺省构造器 CBrowseDir(); //设置初始目录为dir,如果返回false,表示目录不可用 bool SetInitDir(const char *dir); //开始遍历初始目录及其子目录下由filespec指定类型的文件 //filespec可以使用通配符* ?,不能包含路径。 //如果返回false,表示遍历过程被用户中止 bool BeginBrowse(const char *filespec); vector BeginBrowseFilenames(const char *filespec); protected: //遍历目录dir下由filespec指定的文件 //对于子目录,采用迭代的方法 //如果返回false,表示中止遍历文件 bool BrowseDir(const char *dir,const char *filespec); vector GetDirFilenames(const char *dir,const char *filespec); //函数BrowseDir每找到一个文件,就调用ProcessFile //并把文件名作为参数传递过去 //如果返回false,表示中止遍历文件 //用户可以覆写该函数,加入自己的处理代码 virtual bool ProcessFile(const char *filename);

下面这段代码可以遍历指定文件夹下所有xls文件

下面这段代码可以遍历指定文件夹下所有xls文件,但: 1.文件夹下的xls文件可以返回到工A列,但子文件夹下的xls文件就不行 2.想同时在B列后能返回xls文件名下的工作表名称 Private Sub CommandButton1_Click() Dim fn As String Dim r As Long fn =Dir(ThisWorkbook.Path & "\*.xls") While fn <> "" r = r + 1 Cells(r, 1) = fn fn = Dir() Wend End Sub Sub 汇总() Dim sh As Worksheet, FileName As String, rng As Range, sht As Worksheet Set sht = ActiveSheet FileName = Dir(ThisWorkbook.Path & "\*.xls") '待汇总文件 Do If FileName <> https://www.sodocs.net/doc/603266322.html, Then '如果当前文件不是汇部表,则处理此文件Set rng = sht.Range("A5").End(xlDown) '确定合计最上方的空单元格 If rng = "合计" Then '如果当前单元格是“合计”项 rng.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove '插入空行 Set rng = rng.Offset(-2, 0) '调整单元格的位置 End If Set sh = Workbooks.Open(ThisWorkbook.Path & "\" & FileName).Worksheets("Sheet1") '打开待汇总文件 rng.Offset(1, 0) = sh.[M4] '填充编号 rng.Offset(1, 1) = sh.[C4] '填充姓名 rng.Offset(1, 2) = sh.[M18] '填充总价 sh.Parent.Close (False) '关闭文件 End If FileName = Dir() '遍历下一个文件 Loop While FileName <> "" End Sub 这段小程序就把一个EXCEL文件中每个工作表的A1单元格填上了a Sub tt() For i = 1 To ActiveWorkbook.Worksheets.Count

QT遍历文件夹目录图片文件的实现

数码相框实现遍历文件夹图片文件 一、功能介绍: 在为数码相框所在文件系统实现U盘自动挂载之后,将U盘自动挂载在开发板上文件系统中的/mnt/usb目录,故还需为数码相框添加遍历/mnt/usb路径下的文件夹内图片文件,暂定为扫描指定目录下一层文件夹内的图片文件。 二、参考资料: 以下一段代码为使用QT实现遍历文件夹和文件目录(递归法) bool FindFile(const QString & path) { QDir dir(path); if (!dir.exists()) return false; dir.setFilter(QDir::Dirs|QDir::Files); dir.setSorting(QDir::DirsFirst); QFileInfoList list = dir.entryInfoList(); int i=0; do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="."|fileInfo.fileName()=="..") { i++; continue; } bool bisDir=fileInfo.isDir(); if(bisDir) { nFiles++; std::cout << qPrintable(QString("%1 %2 %3").arg(fileInfo.size(), 10) .arg(fileInfo.fileName(),10).arg(fileInfo.path()))<

C&C++遍历文件夹

C/C++遍历文件夹 2012-07-22 13:34:18| 分类:C语言 | 标签:文件遍历|字号订阅 finddata_t的使用 那么到底如何查找文件呢?我们需要一个结构体和几个大家可能不太熟悉的函数。这些函数和结构体在的头文件中,结构体为struct _finddata_t,函数为_findfirst、_findnext 和_fineclose.具体如何使用,我会慢慢讲来~ 首先讲这个结构体吧~struct _finddata_t,这个结构体是用来存储文件各种信息的。说实话,这个结构体的具体定义代码,我没有找到,不过还好,文档里面在_find里有比较详细的成员变量介绍。我基本上就把文档翻译过来讲吧: unsigned atrrib:文件属性的存储位置。它存储一个unsigned单元,用于表示文件的属性。文件属性是用位表示的,主要有以下一些:_A_ARCH(存档)、_A_HIDDEN(隐藏)、_A_NORMAL(正常)、_A_RDONLY(只读)、_A_SUBDIR(文件夹)、_A_SYSTEM (系统)。这些都是在中定义的宏,可以直接使用,而本身的意义其实是一个无符号整型(只不过这个整型应该是2的几次幂,从而保证只有一位为1,而其他位为0)。既然是位表示,那么当一个文件有多个属性时,它往往是通过位或的方式,来得到几个属性的综合。例如只读+隐藏+系统属性,应该为:_A_HIDDEN | _A_RDONLY |_A_SYSTEM . time_ttime_create:这里的time_t是一个变量类型(长整型?相当于long int?),用来存储时间的,我们暂时不用理它,只要知道,这个time_create变量是用来存储文件创建时间的就可以了。 time_ttime_access:文件最后一次被访问的时间。 time_ttime_write:文件最后一次被修改的时间。 _fsize_t size:文件的大小。这里的_fsize_t应该可以相当于unsigned整型,表示文件的字节数。 char name[_MAX_FNAME]:文件的文件名。这里的_MAX_FNAME是一个常量宏,它在头文件中被定义,表示的是文件名的最大长度。 以此,我们可以推测出,struct_finddata_t,大概的定义如下: struct _finddata_t { unsigned attrib;

相关主题