当前位置:  编程技术>.net/c#/asp.net

C#操作目录与文件的方法步骤

    来源: 互联网  发布时间:2014-10-21

    本文导语:  • 创建目录和文件1、通过Path类的Combine方法可以合并路径。 代码如下:string activeDir = @"C:myDir";string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");2、目录的创建。创建目录时如果目录已存在,则不会重新创建目录,且不会报错。...

• 创建目录和文件
1、通过Path类的Combine方法可以合并路径。
代码如下:

string activeDir = @"C:myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");

2、目录的创建。
创建目录时如果目录已存在,则不会重新创建目录,且不会报错。创建目录时会自动创建路径中各级不存在的目录。
(1)通过Directory类的CreateDirectory方法创建。
代码如下:

string activeDir = @"C:myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

(2)通过DirectoryInfo的对象创建。
代码如下:

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:myDirTwomySubDirThree");
di.Create();

3、文件的创建。
通过Create方法创建文件,会覆盖同名的现有文件。创建文件时,该文件所在路径的目录必须存在,否则报错。
(1)通过File类的Create方法创建。
代码如下:

string activeDir = @"C:myDir";
            string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
            System.IO.Directory.CreateDirectory(newPath);
            //创建一个空白文件
            string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
                + ".txt";
            string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
            System.IO.File.Create(filePathOne);

(2)通过FileInfo对象创建。
代码如下:

//通过Combine合并目录
            //然后创建目录
            string activeDir = @"C:myDir";
            string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
            System.IO.Directory.CreateDirectory(newPath);
            //创建一个空白文件
            string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
                + ".txt";
            string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
            System.IO.FileInfo fi = new System.IO.FileInfo(filePathOne);
            fi.Create();

• 复制目录文件
代码如下:

//复制单个文件到指定目录
            string fileName = "test.txt";
            string sourcePath = @"C:testDirsubTestDir";
            string targetPath = @"C:testDirsubTestDirTwo";
            string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
            string destFile = System.IO.Path.Combine(targetPath, fileName);
            if (!System.IO.Directory.Exists(targetPath))
                System.IO.Directory.CreateDirectory(targetPath);
            //如果已存在,参数为false时将报错,参数为true重写该文件
            //当copy方法为两个参数时,默认重写为false。
            System.IO.File.Copy(sourceFile, destFile, true);
            //以下为复制一个目录下所有文件到指定目录
            //如果复制有子目录的目录的所有文件,可以用递归或堆栈算法实现
            if (System.IO.Directory.Exists(sourcePath))
            {
                string[] files = System.IO.Directory.GetFiles(sourcePath);
                foreach (string s in files)
                {
                    //仅返回路径字符串的文件名及后缀
                    fileName = System.IO.Path.GetFileName(s);
                    destFile = System.IO.Path.Combine(targetPath, fileName);
                    System.IO.File.Copy(s, destFile, true);
                }
            }
        }

• 移动目录和文件
代码如下:

/*移动文件*/
            string sourceFile = @"C:testDirsubTestDirtest.txt";
            string destFile = @"C:testDirsubTestDirTwotest.txt";
            //当目标文件存在时,抛出异常
            System.IO.File.Move(sourceFile, destFile);
            /*移动目录*/
            //移动目录将移动改目录的子目录和文件
            System.IO.Directory.Move(@"C:testDirsubTestDirTwo", @"C:testDirsubTestDir");

• 删除目录和文件
1、删除目录
删除目录,如果该目录不存在,会抛出异常。可以通过File类的Delete方法删除目录,也可以通过FileInfo对象方法删除目录。
(1)通过 File类的Delete方法删除目录
代码如下:

//删除可写空目录
            //如果不为空抛出目录不为空异常
            try
            {
                System.IO.Directory.Delete(@"C:testDirsubTestDir");
            }
            catch (System.IO.IOException e)
            {
                Console.WriteLine(e.Message);
            }
            //第二参数为false时,只能删除空目录,否则抛出不为空异常
            //第二参数为true时,删除目录,包括子目录和文件
            try
            {
                System.IO.Directory.Delete(@"C:testDirsubTestDir", true);
            }
            catch(System.IO.IOException e)
            {
                Console.WriteLine(e.Message);
            }

(2)通过FileInfo对象方法删除目录
代码如下:

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:testDirsubTestDirTwo");
            try
            {
                //无参数删除空目录
                //当参数为false,可删除空目录;为true,删除目录,包括子目录和文件
                di.Delete(true);
            }
            catch (System.IO.IOException e)
            {
                Console.WriteLine(e.Message);
            }

2、删除文件
删除文件时如果指定文件的目录存在,而文件不存在,则不会抛出异常,如果指定文件的目录不存在,则会抛出异常。
(1)通过File类Delete方法删除文件
代码如下:

try
                {
                    System.IO.File.Delete(@"C:testDirsubTestDirtest.txt");
                }
                catch(System.IO.IOException e)
                {
                    Console.WriteLine(e.Message);
                }

(2)通过FileInfo对象Delete方法删除文件
代码如下:

System.IO.FileInfo fi = new System.IO.FileInfo(@"C:testDirsubTestDirtest1.txt");
            try
            {
                fi.Delete();
            }
            catch(System.IO.IOException e)
            {
                Console.WriteLine(e.Message);
            }

 


    
 
 

您可能感兴趣的文章:

  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • c#的时间日期操作示例分享(c#获取当前日期)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • C#操作txt文件,进行清空添加操作的小例子
  • C#实现装箱与拆箱操作简单实例
  • 浅谈C#互操作的内存溢出问题
  • C# 中的??操作符浅谈
  • c#剪切板操作的简单实例
  • c# 调用Surfer软件,添加引用的具体操作方法
  • c#异步task示例分享(异步操作)
  • c#下注册表操作的一个小细节
  • C#操作CLOB大对象的代码一例
  • c#判断操作系统位数实例代码
  • 一些关于c#与Sql的时间的操作
  • c#判断操作系统位数的示例分享
  • C#中的位操作小结
  • C# 操作符之三元操作符浅析
  • C# Dictionary操作范例(入门新手参考)
  • C#的WebBrowser操作frame实例解析
  • C# Winform 操作 INI 配置文件的实现代码
  • C#程序最小化到托盘图标操作步骤与实现代码
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 使用xenocode代码混淆加密的操作步骤
  • Windows7 更新操作步骤
  • 请帮助解决开发 操作系统 的所需步骤
  • linux下不使用sudo命令执行docker的操作步骤
  • 请问,我想在windows环境下安装Konqueror并分析其源码,需要哪些操作步骤?
  • CentOS yum 源设置为163的源操作步骤及配置文件参考
  • 如何用命令行进入mysql具体操作步骤
  • windows 7下打开或者关闭telnet客户端/服务端命令方法操作步骤
  • SQLServer导出sql文件/表架构和数据操作步骤
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 请问:如何让对多个现有的文件的写操作成为一个原子操作,并可以实现安全的回滚功能?
  • Linux下u盘文件系统相关操作
  • Python文件操作类操作实例详解
  • python读文件,写文件操作以及目录操作
  • 客户端如何操作服务器的文件(如查看文件列表,上传,下载)(★)
  • 什么操作系统能建立文件名大于256的文件
  • 我想按照文件名合并一些文件内容,如何操作
  • linux下如何对文本文件和记录文件进行插入删除操作啊?
  • 文件操作 多个进程打开文件 不加锁 情况如何
  • 急:如何在一个已经打开的文件中定位,比如在文件中实现指针前移和后移这种操作
  • 怎样让DOS支持长文件名,且能用COPY等原命令对长文件名操作?
  • jsp中对文件操作,怎样判断是否已到文件尾?
  • 救命呀,LINUX删除用户操作后,我的WINDOWS文件系统文件丢失了!在线等!
  • 求助文件操作中修改文件中字段的问题,请大家帮忙解决
  • 看到一个问题不错,我也想知道,就转过来,请教各位:如何让虚拟空间用户不能执行他自己文件外的文件操作命令?
  • 怎样用chmod将一个文件夹中所有文件改为777的权限(即可以进行任何操作)
  • 每个线程都进行申请文件描述符的操作的话,会不会发生文件描述符申请冲突?
  • 在中断服务程序里可以进行文件的读写操作么?
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 谁有操作系统PV操作的例子???谁有操作系统PV操作的例子???谢谢!!
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • C++ I/O 成员 flags():操作flags
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • C++ I/O 成员 width():操作域宽度
  • 什么样的操作最耗费服务器的IO操作?
  • Html checkbox标签如何设置默认选中以及用js操作checkbox代码示例
  • 无操作系统下对U盘的操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3