用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

文件管理类

2016-09-26 作者: 疯信子举报

[c#]代码库

using System;
using System.Text;
using System.Web;
using System.IO;
 
public class FileHelper
{
    #region 文件/目录是否存在
 
    /// <summary>
    /// 判断给定字符串是否是有效存在的目录
    /// </summary>
    /// <param name="path">目录字符串</param>
    /// <returns></returns>
    public static bool IsExistDirectory(string path)
    {
        return Directory.Exists(path);
    }
 
    /// <summary>
    /// 判断给定字符串是事有效存在的文件
    /// </summary>
    /// <param name="path">文件路径</param>
    /// <returns></returns>
    public static bool IsExistFile(string path)
    {
        return File.Exists(path);
    }
 
    #endregion
 
    #region 取得文件后缀名
 
    /// <summary>
    /// 获取指定文件的扩展名(不含.)
    /// </summary>
    /// <param name="file">文件路径</param>
    /// <returns></returns>
    public static string GetExtensionStr(string file)
    {
        string str = Path.GetExtension(file);
        if (str.Length > 1)
            return str.Substring(1);
        else
            return "";
    }
 
    #endregion
 
    #region 取得文件名
 
    /// <summary>
    /// 取得文件名(包含扩展名)
    /// </summary>
    /// <param name="file">文件路径</param>
    /// <returns></returns>
    public static string GetFileFullName(string file)
    {
        return Path.GetFileName(file);
    }
 
    /// <summary>
    /// 取得文件名(不含扩展名)
    /// </summary>
    /// <param name="file">文件路径</param>
    /// <returns></returns>
    public static string GetFileNameWithoutExtension(string file)
    {
        return Path.GetFileNameWithoutExtension(file);
    }
 
    /// <summary>
    /// 取得指定路径(目录/文件)的最末级目录名
    /// </summary>
    /// <param name="path">路径</param>
    /// <returns></returns>
    public static string GetDirectoryName(string path)
    {
        if (File.Exists(path))
        {
            return Path.GetDirectoryName(path);
        }
        else // if (Directory.Exists(path))
        {
            return Path.GetDirectoryName(Path.Combine(path, Path.DirectorySeparatorChar.ToString()));
        }
    }
 
    #endregion
 
    #region 拷贝文件
 
    /// <summary>
    /// 拷贝文件
    /// </summary>
    /// <param name="sourceFile">原始文件</param>
    /// <param name="destFile">新文件路径</param>
    public static void FileCoppy(string sourceFile, string destFile)
    {
        File.Copy(sourceFile, destFile, true);
    }
 
    #endregion
 
    #region 删除文件
 
    /// <summary>
    /// 删除文件
    /// </summary>
    /// <param name="file">路径</param>
    public static void FileDelete(string file)
    {
        File.Delete(file);
    }
    #endregion
 
    #region 移动文件
 
    /// <summary>
    /// 移动文件
    /// </summary>
    /// <param name="OrignFile">原始路径</param>
    /// <param name="NewFile">新路径</param>
    public static void FileMove(string OrignFile, string NewFile)
    {
        Directory.CreateDirectory(Path.GetDirectoryName(NewFile));
        if (File.Exists(OrignFile))
            File.Move(OrignFile, NewFile);
    }
    #endregion
 
    #region 创建目录
 
    /// <summary>
    /// 创建文件夹
    /// </summary>
    /// <param name="Path"></param>
    public static void FolderCreate(string Path)
    {
        // 判断目标目录是否存在如果不存在则新建之
        if (!Directory.Exists(Path))
            Directory.CreateDirectory(Path);
    }
 
    #endregion
 
    #region 删除目录及子目录及文件
 
    /// <summary>
    /// 递归删除文件夹目录及文件
    /// </summary>
    /// <param name="dirPath"></param> 
    /// <returns></returns>
    public static void FolderDelete(string dirPath)
    {
        Directory.Delete(dirPath, true);
    }
 
    #endregion
 
    #region 文件夹内容COPY
 
    /// <summary>
    /// 指定文件夹下面的所有内容copy到目标文件夹下面
    /// </summary>
    /// <param name="sourcePath">原始路径</param>
    /// <param name="destPath">目标文件夹</param>
    public static void FolderCopy(string sourcePath, string destPath)
    {
        string sPath = Path.GetFullPath(sourcePath);
        string dPath = Path.GetFullPath(destPath);
 
        foreach (string key in Directory.GetDirectories(sPath, "*", SearchOption.AllDirectories))
        {
            if (!Directory.Exists(key.Replace(sPath, dPath)))
                Directory.CreateDirectory(key.Replace(sPath, dPath));
        }
        foreach (string file in Directory.GetFiles(sPath, "*", SearchOption.AllDirectories))
        {
            File.Copy(file, file.Replace(sPath, dPath), true);
        }
    }
    #endregion
 
    #region 获取文件大小
 
    /// <summary>
    /// 获取文件大小
    /// </summary>
    /// <param name="file">文件路径</param>
    /// <returns></returns>
    public static long GetFileSize(string file)
    {
        FileInfo fi = new FileInfo(file);
        if (fi != null)
            return fi.Length;
        else
            return 0;
    }
 
    #endregion
 
    #region 获取文件夹大小
 
    /// <summary>
    /// 获取文件夹大小
    /// </summary>
    /// <param name="dirPath">文件夹路径</param>
    /// <returns></returns>
    public static long GetFolderSize(string dirPath)
    {
        if (!Directory.Exists(dirPath))
            return 0;
        long len = 0;
        FileInfo fi;
        foreach (string key in Directory.GetFiles(dirPath, "*", SearchOption.AllDirectories))
        {
            fi = new FileInfo(key);
            len += fi.Length;
        }
        return len;
    }
    #endregion
 
 
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...