C#文件与文件夹操作(创建、移动、删除、复制)

//1.---------文件夹创建、移动、删除---------
//创建文件夹

 代码如下 复制代码
Directory.CreateDirectory(Server.MapPath("a"));
Directory.CreateDirectory(Server.MapPath("b"));
Directory.CreateDirectory(Server.MapPath("c"));
//移动b到a
Directory.Move(Server.MapPath("b"), Server.MapPath("a\b"));
//删除c
Directory.Delete(Server.MapPath("c"));

//2.---------文件创建、复制、移动、删除---------

 代码如下 复制代码
//创建文件
//使用File.Create创建再复制/移动/删除时会提示:文件正由另一进程使用,因此该进程无法访问该文件
//改用 FileStream 获取 File.Create 返回的 System.IO.FileStream 再进行关闭就无此问题
FileStream fs;
fs = File.Create(Server.MapPath("a.txt"));
fs.Close();
fs = File.Create(Server.MapPath("b.txt"));
fs.Close();
fs = File.Create(Server.MapPath("c.txt"));
fs.Close();
//复制文件
File.Copy(Server.MapPath("a.txt"), Server.MapPath("a\a.txt"));
//移动文件
File.Move(Server.MapPath("b.txt"), Server.MapPath("a\b.txt"));
File.Move(Server.MapPath("c.txt"), Server.MapPath("a\c.txt"));
//删除文件
File.Delete(Server.MapPath("a.txt"));

C#追加文件

 代码如下 复制代码

 StreamWriter sw = File.AppendText(
                Server.MapPath(".") + "\myText.txt");
            sw.WriteLine("追逐理想");
            sw.WriteLine("kzlll");
            sw.WriteLine(".NET笔记");
            sw.Flush(); sw.Close();

//3.---------遍历文件夹中的文件和子文件夹并显示其属性---------

 代码如下 复制代码
if(Directory.Exists(Server.MapPath("a")))
{
    //所有子文件夹
    foreach(string item in Directory.GetDirectories(Server.MapPath("a")))
    {
        Response.Write("<b>文件夹:" + item + "</b><br/>");
        DirectoryInfo directoryinfo = new DirectoryInfo(item);
        Response.Write("名称:" + directoryinfo.Name + "<br/>");
        Response.Write("路径:" + directoryinfo.FullName + "<br/>");
        Response.Write("创建时间:" + directoryinfo.CreationTime + "<br/>");
        Response.Write("上次访问时间:" + directoryinfo.LastAccessTime + "<br/>");
        Response.Write("上次修改时间:" + directoryinfo.LastWriteTime + "<br/>");
        Response.Write("父文件夹:" + directoryinfo.Parent + "<br/>");
        Response.Write("所在根目录:" + directoryinfo.Root + "<br/>");
        Response.Write("<br/>");
    }
    //所有子文件
    foreach (string item in Directory.GetFiles(Server.MapPath("a")))
    {
        Response.Write("<b>文件:" + item + "</b><br/>");
        FileInfo fileinfo = new FileInfo(item);
        Response.Write("名称:" + fileinfo.Name + "<br/>");
        Response.Write("扩展名:" + fileinfo.Extension +"<br/>");
        Response.Write("路径:" + fileinfo.FullName +"<br/>");
        Response.Write("大小:" + fileinfo.Length +"<br/>");
        Response.Write("创建时间:" + fileinfo.CreationTime +"<br/>");
        Response.Write("上次访问时间:" + fileinfo.LastAccessTime +"<br/>");
        Response.Write("上次修改时间:" + fileinfo.LastWriteTime +"<br/>");
        Response.Write("所在文件夹:" + fileinfo.DirectoryName +"<br/>");
        Response.Write("文件属性:" + fileinfo.Attributes +"<br/>");
        Response.Write("<br/>");
    }
}

//4.---------文件读写---------

 代码如下 复制代码

if (File.Exists(Server.MapPath("a\a.txt")))
{
    StreamWriter streamwrite = new StreamWriter(Server.MapPath("a\a.txt"));
    streamwrite.WriteLine("ABCD数据库");
    streamwrite.WriteLine("http://www.111cn.net/");
    streamwrite.Write("2012-05-15");
    streamwrite.Close();

    StreamReader streamreader = new StreamReader(Server.MapPath("a\a.txt"));
    Response.Write(streamreader.ReadLine());
    Response.Write(streamreader.ReadToEnd());
    streamreader.Close();
}

//文件夹删除

 代码如下 复制代码

〈%@PageLanguage=C#%〉 
        〈%@Importnamespace="System.IO"%〉 
        〈Scriptrunat=server〉 
        public void DeleteFolder(string dir) 
        ...{ 
            //如果存在这个文件夹删除之
            if(Directory.Exists(dir))
            ...{ 
                foreach(string d in Directory.GetFileSystemEntries(dir))
                ...{ 
                    if(File.Exists(d))
                        File.Delete(d);//直接删除其中的文件
                    else DeleteFolder(d);//递归删除子文件夹 
                } 
                Directory.Delete(dir);
                //删除已空文件夹
                Response.Write(dir+"文件夹删除成功"); 
            }
            else //如果文件夹不存在则提示
                Response.Write(dir+"该文件夹不存在");
        } 
   
    protected void Page_Load(Object  sender,EventArgse)
    ...{ 
        stringDir="D:\gbook\11"; 
        DeleteFolder(Dir);//调用函数删除文件夹
    }
        //======================================== 
        //实现一个静态方法将指定文件夹下面的所有
        //内容copy到目标文件夹下面 
        //如果目标文件夹为只读属性就会报错。 
        //April18April2005InSTU 
        //======================================== 
        public static void CopyDir(string srcPath,  string aimPath) 
        ...{
            try  ...{ 
                //检查目标目录是否以目录分割字符
                //结束如果不是则添加之
                if(aimPath[aimPath.Length-1] != 
                    Path.DirectorySeparatorChar)
                    aimPath+=Path.DirectorySeparatorChar; 
                //判断目标目录是否存在如果不存在则新建之 
                if(!Directory.Exists(aimPath))
                    Directory.CreateDirectory(aimPath); 
                //得到源目录的文件列表,该里面是包含
                //文件以及目录路径的一个数组 
                //如果你指向copy目标文件下面的文件 
                //而不包含目录请使用下面的方法 
                //string[]fileList=  Directory.GetFiles(srcPath); 
                string[]fileList=
                    Directory.GetFileSystemEntries(srcPath); 
                //遍历所有的文件和目录 
                foreach(string file in fileList) 
                ...{  
                    //先当作目录处理如果存在这个
                    //目录就递归Copy该目录下面的文件 
                    if(Directory.Exists(file)) 
                        CopyDir(
                            file,
                            aimPath+Path.GetFileName(file)); 
                    //否则直接Copy文件
                    else
                        File.Copy(
                            file,
                            aimPath+Path.GetFileName(file),
                            true);
                } 
            } 
            catch(Exception e)
            ...{
                MessageBox.Show(e.ToString()); 
            } 
        } 
   
    //======================================== 
    //实现一个静态方法将指定文件夹下面的所有内容Detele 
    //测试的时候要小心操作,删除之后无法恢复。
    //April18April2005InSTU 
    //======================================== 
    public static void DeleteDir(string aimPath) 
    ...{ 
        try
        ...{
            //检查目标目录是否以目录分割
            //字符结束如果不是则添加之
            if(aimPath[aimPath.Length-1] !=
                Path.DirectorySeparatorChar)
                aimPath+=Path.DirectorySeparatorChar;
            //得到源目录的文件列表,该里面是
            //包含文件以及目录路径的一个数组
            //如果你指向Delete目标文件下面的
            //文件而不包含目录请使用下面的方法 
            //string[]fileList=  Directory.GetFiles(aimPath); 
            string[]fileList= 
                Directory.GetFileSystemEntries(aimPath); 
            //遍历所有的文件和目录
            foreach(string file in fileList) 
            ...{
                //先当作目录处理如果存在这个
                //目录就递归Delete该目录下面的文件
                if(Directory.Exists(file)) 
                ...{
                    DeleteDir(
                        aimPath+Path.GetFileName(file)); 
                } 
                //否则直接Delete文件
                else
                ...{
                    File.Delete(
                        aimPath+Path.GetFileName(file));
                } 
            } 
            //删除文件夹
            System.IO.Directory.Delete(aimPath,true); 
        } 
        catch(Exceptione) 
        ...{ 
            MessageBox.Show(e.ToString()); 
        }
    }  

好了关于C#创建文件夹与文件的一些具体实现的操作就先你介绍到这里,希望对你了解和学习C#创建文件夹的过程以及实现相关的权限设置有所帮助。

时间: 2024-09-20 07:52:59

C#文件与文件夹操作(创建、移动、删除、复制)的相关文章

centos系统文件与文件夹操作(新建、删除、移动)

1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 1 mkdir /home/test 2.新建文本 在home下新建一个test.sh脚本 1 vi /home/test.sh 3.删除文件或文件夹 删除home目录下的test目录 1 rm /home/test 这种不带参数的删除方法经常会提示无法删除,因为权限不够. 1 rm -r /home/test -r是递归的删除参数表中的目录及其子目录. 目录将被清空并且删除. 当删除目录包含的具有写保护的文件时用户通

c# 文件(夹)创建与删除_C#教程

复制代码 代码如下: /删除文件夹,参数文件夹路径 protected void DeleteDirectory(string dir,bool deleteSubDir) { try { Directory.Delete(dir, deleteSubDir); } catch (Exception e) { logger.Error("DeleteDirectory Error dir = " + dir, e); throw new Exception("DeleteDi

JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常重要的,我们先来看下他的基本概念 用于将文件或者文件夹封装成对象 方便对文件和文件夹的操作 File对象可以作为参数传递给流的构造函数 我们写个小例子先 package com.lgl.hellojava; import java.io.File; public class HelloJJAVA {

PHP创建/删除/复制文件夹、文件_php技巧

学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy).自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下. 在说该函数之前,先介绍一下使用PHP创建/删除文件夹.文件等知识.1.创建文件夹 <?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 if(!file_exists("d:/mydir")) { if(mkdir("d

asp.net文件与文件夹操作类(文件删除,创建,目录删除)

下面这个文件操作类,可以删除目录并且不为空的目录哦,也可以创建文件写文件,删除文件以前递归操作目录. using system.io; using system.web; namespace sec {     /**////     /// 对文件和文件夹的操作类     ///     public class filecontrol     {          public filecontrol()          {          }          /**////     

PHP文件及文件夹操作之创建、删除、移动、复制_php实例

创建FileUtil.php文件,内容及调用方式如下: <?php /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil

PHP文件及文件夹操作之创建、删除、移动、复制

创建FileUtil.php文件,内容及调用方式如下: <?php /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil

ASP编程入门进阶(十七):FSO组件之文件夹操作

fso|编程|fso 操作完驱动器,接着就是来操作文件夹了.其中包括:提取文件夹信息.创建文件夹.删除文件夹.复制文件夹.移动文件夹等.下面就具体来看. 一.fso.GetFolder一看就明白,是提取文件夹了.那具体是提取哪个文件夹呢?后面肯定要跟一个文件夹的路径.提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去.所以,看程序:1,getfldr.asp <%Set fso = CreateObject("Scripting.FileSystemObject")Se

深入学习ASP动态网页技术之FSO组件之文件夹操作

fso|动态|网页 操作完驱动器,接着就是来操作文件夹了.其中包括:提取文件夹信息.创建文件夹.删除文件夹.复制文件夹.移动文件夹等.下面就具体来看. 一.fso.GetFolder 一看就明白,是提取文件夹了.那具体是提取哪个文件夹呢?后面肯定要跟一个文件夹的路径.提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去.所以,看程序: 1,getfldr.asp <%Set fso = CreateObject("Scripting.FileSystemObject")S