zoukankan      html  css  js  c++  java
  • 文件方法

    C# 获取指定目录下所有文件信息、移动目录、拷贝目录

    /// <summary>
    /// 获取目录下的所有文件夹和文件的path
    /// </summary>
    /// <param name="path"></param>
    /// <returns></returns>
    public static List<string> getPath(string path)
    {
    DirectoryInfo dir = new DirectoryInfo(path);
    FileInfo[] fil = dir.GetFiles();
    DirectoryInfo[] dii = dir.GetDirectories();
    foreach (FileInfo f in fil)
    {
    list.Add(f.FullName);//添加文件的路径到列表
    }
    //获取子文件夹内的文件列表,递归遍历
    foreach (DirectoryInfo d in dii)
    {
    getPath(d.FullName);
    list.Add(d.FullName);//添加文件夹的路径到列表
    }
    return list;
    }

    /// <summary>
            /// 从一个目录将其内容移动到另一目录  
            /// </summary>
            /// <param name="directorySource">源目录</param>
            /// <param name="directoryTarget">目标目录</param>
            private void MoveFolderTo(string directorySource, string directoryTarget)
            {
                //检查是否存在目的目录  
                if (!Directory.Exists(directoryTarget))
                {
                    Directory.CreateDirectory(directoryTarget);
                }
                //先来移动文件  
                DirectoryInfo directoryInfo = new DirectoryInfo(directorySource);
                FileInfo[] files = directoryInfo.GetFiles();
                //移动所有文件  
                foreach (FileInfo file in files)
                {
                    //如果自身文件在运行,不能直接覆盖,需要重命名之后再移动  
                    if (File.Exists(Path.Combine(directoryTarget, file.Name)))
                    {
                        if (File.Exists(Path.Combine(directoryTarget, file.Name + ".bak")))
                        {
                            File.Delete(Path.Combine(directoryTarget, file.Name + ".bak"));
                        }
                        File.Move(Path.Combine(directoryTarget, file.Name), Path.Combine(directoryTarget, file.Name + ".bak"));
    
                    }
                    file.MoveTo(Path.Combine(directoryTarget, file.Name));
    
                }
                //最后移动目录  
                DirectoryInfo[] directoryInfoArray = directoryInfo.GetDirectories();
                foreach (DirectoryInfo dir in directoryInfoArray)
                {
                    MoveFolderTo(Path.Combine(directorySource, dir.Name), Path.Combine(directoryTarget, dir.Name));
                }
            }
    /// <summary>
            /// 从一个目录将其内容复制到另一目录
            /// </summary>
            /// <param name="directorySource">源目录</param>
            /// <param name="directoryTarget">目标目录</param>
            static void CopyFolderTo(string directorySource, string directoryTarget)
            {
                //检查是否存在目的目录  
                if (!Directory.Exists(directoryTarget))
                {
                    Directory.CreateDirectory(directoryTarget);
                }
                //先来复制文件  
                DirectoryInfo directoryInfo = new DirectoryInfo(directorySource);
                FileInfo[] files = directoryInfo.GetFiles();
                //复制所有文件  
                foreach (FileInfo file in files)
                {
                    file.CopyTo(Path.Combine(directoryTarget, file.Name));
                }
                //最后复制目录  
                DirectoryInfo[] directoryInfoArray = directoryInfo.GetDirectories();
                foreach (DirectoryInfo dir in directoryInfoArray)
                {
                    CopyFolderTo(Path.Combine(directorySource, dir.Name), Path.Combine(directoryTarget, dir.Name));
                }
            }
  • 相关阅读:
    js-jquery-003-条形码-二维码【QR码】
    js-jquery-002-条形码-一维码
    js-jquery-001-条形码概述
    java-mybaits-00401-Mapper-输入输出
    tools-eclipse-002-常用插件
    java-mybaits-00301-SqlMapConfig
    java-mybaits-00203-DAO-mapper代理开发方法,多参数【推荐】
    java-mybaits-00202-DAO-原始DAO开发方法
    java-mybaits-00201-DAO-SqlSession使用范围
    java-mybaits-00103-入门程序原生的【查、增、删、改】
  • 原文地址:https://www.cnblogs.com/CallmeYhz/p/8021924.html
Copyright © 2011-2022 走看看