判断该路径是文件还是文件夹

1、

// 判断该路径是文件还是文件夹,如果是文件夹
if (File.GetAttributes(path).CompareTo(FileAttributes.Directory) == 0)
{
    //DirectoryInfo dinfo = new DirectoryInfo(path);
    //dinfo.Delete(true);   // 直接删除的方式,不会删除到回收站
    Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(path, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing);
}
else
{
    //FileInfo finfo = new FileInfo(path);
    //finfo.Delete();
    Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(path, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing);
}

2、

/// 
/// 文件夹的复制
/// 
/// 要复制的原路径
/// 要复制的目的路径
public static void DirectoryCopy(string sourceDirPath, string targetDirPath)
{
    DirectoryInfo sourceDirInfo = new DirectoryInfo(sourceDirPath);
    try
    {
        if (!sourceDirInfo.Exists)//判断所指的文件或文件夹是否存在
         {
            return;
        }
        if (!Directory.Exists(targetDirPath))
        {
            Directory.CreateDirectory(targetDirPath);
        }
        // 获取文件夹中所有文件和文件夹
         FileSystemInfo[] sourceFiles = sourceDirInfo.GetFileSystemInfos();
        // 对单个FileSystemInfo进行判断,如果是文件夹则进行递归操作
         foreach (FileSystemInfo sourceFileSys in sourceFiles)
        {
            FileInfo file = sourceFileSys as FileInfo;
            if (file != null)   // 如果是文件的话,进行文件的复制操作
              {
                file.CopyTo(targetDirPath + "\\" + file.Name, true);          // 将文件复制到指定的路径中
              }
            else
            {
                DirectoryCopy(sourceFileSys.FullName, Path.Combine(targetDirPath, sourceFileSys.Name));
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("文件复制异常:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

3、

if (File.Exists(oldFilePath))
{
    ...;
}
if (Directory.Exists(oldFilePath))
{
    ...;
}



 

你可能感兴趣的:(IO操作)