C#中简单的文件操作实例

using System;
using System.IO;

namespace Demo
{
    class Program
    {
        static string tmpPath = @"D:/LgsTest/DiretoryTest";
        static void Main(string[] args)
        {
            //CreateDirectory(tmpPath);
            ErgodicDirectory(@"D:\LgsTest\C#练习\ShenRuLiJieC#");
            Console.ReadKey();
        }

        //判断指定的路径是否存在,存在的话将删除重新创建,否则只是创建
        static void CreateDirectory(string path)
        {
            //判断给定的路径是否存在,注意只能判断路径(即文件夹), 不具体到文件!!!
            if (Directory.Exists(tmpPath))
            {
                DirectoryInfo dic = new DirectoryInfo(tmpPath);
                //指定是否删除子目录和文件,若为 true,则删除此目录、其子目录以及所有文件
                //若为 false,目录不为空会报异常,即只能当目录为空的时候可以传 false
                dic.Delete(true);
            }
            else
            {
                Console.WriteLine(false);
            }

            //创建目录
            Directory.CreateDirectory(tmpPath);
        }

        //递归遍历某个目录,输出其中及其子目录中的文件名
        static void ErgodicDirectory(string path)
        {
            if (Directory.Exists(path))
            {
                DirectoryInfo dir = new DirectoryInfo(path);
                if (null != dir)
                {
                    //返回表示某个目录中所有文件和子目录的强类型 System.IO.FileSystemInfo 项的数组。
                    FileSystemInfo[] fileSystemInfo = dir.GetFileSystemInfos();
                    for (int i = 0, iMax = fileSystemInfo.Length; i < iMax; ++i)
                    {
                        FileSystemInfo tmpFile = fileSystemInfo[i];
                        //组合路径
                        string tmpPath = Path.Combine(path, tmpFile.Name);

                        if (tmpFile is DirectoryInfo)
                        {
                            ErgodicDirectory(tmpPath);
                        }
                        else
                        {
                            //输出文件名
                            Console.WriteLine(tmpFile.Name);
                        }
                    }
                }
                else
                {
                    Console.WriteLine("wwwww");
                }
            }
            else
            {
                Console.WriteLine("qqqq");
            }
        }
    }
}

  

原文地址:https://www.cnblogs.com/luguoshuai/p/9136468.html

时间: 2024-10-26 05:36:13

C#中简单的文件操作实例的相关文章

在安卓开发中使用SQLite数据库操作实例

前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tc

文件操作实例

1.文件操作之bytes模式 1.除了上篇所介绍的'r','w','a'只读只写只追加模式外,大家可能意识到一个问题就是这种操作只能对纯文本的文件进行操作,然而现在很多文件都是带有图片或者音频视频的文件,那该如何操作执行文件呢?接下来介绍文件操作其他三种类似模式 我们上面的'r','w','a'起始都是'rt','wt','at'即文本文件操作的只读只写只追加,要想操作文本文件以外的文件类型,那就需要在这个t的位置上做一些手脚了,对于非文本文件,我们只能使用b模式,"b"表示以字节的方

C#简单注册表操作实例

1.简介操作 //设置注册值 private void Button_Click(object sender, RoutedEventArgs e) { //路径及间隔符号要正确 //1.如果指定路径不存在,则创建 //2.如果指定键存在,则覆盖值 string path = "HKEY_CURRENT_USER\\myRegOne"; Registry.SetValue(path, "Expend", "hellow world!"); Mes

shell中简单的字符串操作

在SHELL编程中,经常要处理一些字符串变量.比如,计算长度啊.截取子串啊.字符替换啊等等,常常要用到awk.expr.sed.tr等命令.下面给大家介绍个简单的字符串处理方法,用不着嵌套复杂的子命令. ${#VALUE}:计算VALUE字符串的字符数量. ${VALUE%.*}或${VALUE%%.*}:删除VALUE字符串中以分隔符"."匹配的左边字符,保留右边字符. ${VALUE#*.}或${VALUE##*.}:删除VALUE字符串中以分隔符"."匹配的右

Java最全文件操作实例汇总

本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.print

C语言文件操作(3) --- stdio.h中其他有关文件操作的函数

本篇文章会讲述一些其他有关文件操作的函数,相比前两篇文章介绍的函数,有些可能不大常用. 1. feof()函数 ·原型: int feof (FILE *stream); ·使用方法:检测"流"上的文件结束符EOF,如果检测得到,则返回一个非零值,否则返回0. ·例子(将一个文件的文本内容复制到另一个文件): #include<stdio.h> int main(void) {     FILE* input = fopen("D:\\abc.in", 

struts2中简单的文件上传

2016-08-31 一.       文件上传 利用commons-fileupload-1.2.1.jar实现简单的上传文件,首先在页面上填写表单,记得加上enctype="multipart/form-data",主要是确保上传文件的正确编码,设置表单的MIME编码,让form中的input值以2进制传过去,这样就能用于上传文件了. 2. 配置struts.xml,完成fileUpload与action实例映射, 这里以上传一个图片文件为例 <action name=&qu

4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

 新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CONFIG += C++11 MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H   #include <QWidget>   class MyWidget : public QWidget {     Q_OBJECT public:     expli

Python3 简单的文件操作

方法一:open() 我们平时进行写入文件的时候一般都用open()函数 f = open('/Users/michael/test.txt', 'w') # 路径 mode f.write('Hello, world!') # write() 方法用于向文件中写入指定字符串. f.close() # 关闭文件.关闭后文件不能再进行读写操作. 我们可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件.如果不进行关闭有可能我们的文件数据就丢失了. 方法二:with op