将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等。
注意:
使用递归时,初学者要特别注意的就是“出口”,必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵。
static void GetFiles(List<string> arr, string dir)
{
arr.AddRange(Directory.GetFiles(dir));
var subDir = Directory.GetDirectories(dir).ToList();
if (subDir != null && subDir.Count > 0)
subDir.ForEach(j =>
{
GetFiles(arr, j);
});
}
程序入口
static void Main(string[] args)
{
string path = "F:\\softmare\\Fiddler2汉化";
var obj = FileSync(path);
using (System.IO.StreamWriter srFile = new System.IO.StreamWriter(path + "\\filelist.txt"))
{
obj.ForEach(i =>
{
srFile.WriteLine(i);
});
}
Console.WriteLine("填充完成");
Console.ReadKey();
}
相关推荐
-
c#程序定期把内存信息记录到log日志示例
设立一个定时器tmrMonitor,该定时器会在程序运行时不断把程序的占用内存和占用线程数写到LOG\MEM目录下.我设置的定时器间隔是3000毫秒,记录后的信息可以用来分析一段时间内程序的运行状况,比如内存泄漏问题. 复制代码 代码如下: /// <summary>/// Timer组件tmrMonitor的Tick事件/// </summary>/// <param name="sender"></param>/// <para
-
C#实现程序单例日志输出功能
对于一个完整的程序系统,一个日志记录是必不可少的.可以用它来记录程序在运行过程中的运行状态和报错信息.比如,那些不想通过弹框提示的错误,程序执行过程中捕获的异常等. 首先,在你的解决方案中,适当的目录中新建一个类,比如 LogManager: 编写如下代码: /// <summary> /// 日志管理 /// </summary> public class LogManager { private string _logDir; // 日志文件存放目录 private stati
-
C#实现将程序运行信息写入日志的方法
本文实例讲述了C#实现将程序运行信息写入日志的方法.分享给大家供大家参考.具体如下: 1.LogManager类 class LogManager { static object locker = new object(); /// <summary> /// 重要信息写入日志 /// </summary> /// <param name="logs">日志列表,每条日志占一行</param> public static void Wri
-
C#控制台程序使用Log4net日志组件详解
C#控制台程序使用Log4net日志组件,供大家参考,具体内容如下 1.Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例 项目源码在文章底部 2.首先创建一个控制台程序,引入Log4net.dll --使用NuGet 3.进行一些简单的配置,在App.config文件中配置,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加. <?xml version="1.0
-
C++删除指定文件夹下N天及之前日志文件的方法
本文实例讲述了C++删除指定文件夹下N天及之前日志文件的方法.分享给大家供大家参考.具体如下: // 功能:删除nDays天及之前的日志文件 // @nDays: 0-不删除日志,3-删除3天及之前的日志(保留今天.昨天.前天的日志) ... void CRecordLog::ClearLog(UINT nDays) // 删除N天前的日志 { if (nDays > 0) { WIN32_FIND_DATA FindFileData; CString sAllFile = m_sLogFold
-
Linux查找文件夹下包含某字符的所有文件
Linux grep 命令用于查找文件里符合条件的字符串.grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来.若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据. 标准格式: grep -r string ./ 示例: grep -r message ./ 示例解释:在当前目录下递归查找含有字符串message的文件 更多介绍: -r 是递归查找 -n 是显示行
-
Java实现读取文件夹下(包括子目录)所有文件的文件名
在编程的过程中,经常会用到对文件的读写操作等.比如,找出某一个文件夹下的所有文件名等. 下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序.可以作为某一个模块,在需要的时候直接使用. package src; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStrea
-
将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是"出口",必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 复制代码 代码如下: static void GetFiles(List<string>
-
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
node.js版 遍历文件夹下最大的文件,并输出路径,大小 实现代码: /* 遍历文件夹下最大的文件,并输出路径,大小 */ function findmax(basepath){ //只能执行一次 if(findmax.s) return; findmax.s = true; var fs = require('fs'); var maxfile = 0; var count = 0; var begin = new Date().getTime(); function Travers
-
shell获取目录下所有文件夹的名称并输出的实例
获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i in $dir do echo $i done ####### #方法二 for dir in $(ls /usr/) do [ -d $dir ] && echo $dir done ##方法三 ls -l /usr/ |awk '/^d/ {print $NF}' ## 其实同方法一,直接
-
java实现输出文件夹下某个格式的所有文件实例代码
package file; import java.io.File; /** * 输出某个文件夹下所有某个格式的文件 * @author hasee * */ public class Demo2 { public static void main(String[] args) { getTxtName("d:/a",".jpg"); } public static void getTxtName(String path,String suffix) { //判断文
-
Linux下统计当前文件夹下的文件个数、目录个数
1) 统计当前文件夹下文件的个数 复制代码 代码如下: ls -l |grep "^-"|wc -l 2) 统计当前文件夹下目录的个数 复制代码 代码如下: ls -l |grep "^d"|wc -l 3) 统计当前文件夹下文件的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^-"|wc -l 4) 统计文件夹下目录的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^d"|w
-
C++遍历文件夹下的所有文件
数据分多个文件存储,读取数据就需要对多个文件进行操作.首先就需要定位到文件的名字,之后再对文件进行相应的读写操作.多次涉及多文件的读写操作,现将这个实现总结一下,方便自己和他人使用.具体代码如下: #include "stdafx.h" #include <stdio.h> #include<iostream> #include<vector> #include <Windows.h> #include <fstream> #
-
C++遍历文件夹下文件的方法
本文实例讲述了C++遍历文件夹下文件的方法.分享给大家供大家参考.具体如下: #include <windows.h> #include <stdio.h> #include <string.h> #define LEN 1024 // 深度优先递归遍历目录中所有的文件 BOOL DirectoryList(LPCSTR Path) { WIN32_FIND_DATA FindData; HANDLE hError; int FileCount = 0; char Fi
随机推荐
- xpath简介_动力节点Java学院整理
- asp的SQL语句中and和or同时使用的注意事项
- windows 中 \r\n 区别于 类unix中的\n 疑问理解(crlf回车换行)
- JavaMail入门教程之发送邮件(3)
- java按指定编码写入和读取文件内容的类分享
- Java JDK 二分法 分析demo(推荐)
- javascript十个最常用的自定义函数(中文版)
- android中图形图像处理之drawable用法分析
- Shell脚本批量修改文件后缀名代码分享
- 怎么发布打包并发布自己的Android应用(APP)
- Ajax 通过城市名获取数据(全国天气预报API)
- jQuery弹出窗口打开链接的实现代码
- js 如何实现对数据库的增删改查
- Android手机端小米推送Demo解析和实现方法
- vbs 获取radmin注册表中的信息
- Sql Server 索引使用情况及优化的相关Sql语句分享
- Android Activity切换(跳转)时出现黑屏的解决方法 分享
- Python实现的朴素贝叶斯分类器示例
- python实现决策树、随机森林的简单原理
- C#打印PDF文档的10种方法(小结)