gpt4 book ai didi

C#路径,文件,目录及IO常见操作汇总

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C#路径,文件,目录及IO常见操作汇总由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例汇总了C#路径,文件,目录及IO常见操作。分享给大家供大家参考。具体如下:

问题1:如何判定一个给定的路径是否有效/合法; 。

通过Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法获得非法的路径/文件名字符,可以 。

根据它来判断路径中是否包含非法字符; 。

问题2:如何确定一个路径字符串是表示目录还是文件; 。

1、使用Directory.Exists或File.Exist方法,如果前者为真,则路径表示目录;如果后者为真,则路径表示文件; 。

2、上面的方法有个缺点就是不能处理那些不存在的文件或目录。这时可以考虑使用Path.GetFileName方法获得 。

其包含的文件名,如果一个路径不为空,而文件名为空那么它表示目录,否则表示文件; 。

问题3:如何获得路径的某个特定部分(如文件名、扩展名等); 。

Path.GetDirectoryName :返回指定路径字符串的目录信息; Path.GetExtension : 返回指定的路径字符串的扩展名; Path.GetFileName : 返回指定路径字符串的文件名和扩展名; Path.GetFileNameWithoutExtension :返回不具有扩展名的路径字符串的文件名; Path.GetPathRoot :获取指定路径的根目录信息; 。

问题4:如何准确地合并两个路径而不用去担心那个烦人的"\"字符; 。

使用Path.Combine方法,它会帮你处理烦人的"\"; 。

问题5:如何获得系统目录的的路径(如桌面,我的文档,临时文件夹等); 。

主要是使用System. Environment类的相关属性和方法: Environment. SystemDirectory属性:获取系统目录的完全限定路径; Environment. GetFolderPath方法:该方法接受的参数类型为Environment.SpecialFolder枚举, 通过这个方法可以获得大量系统文件夹的路径,如我的电脑,我的电脑,桌面,系统目录等; Path.GetTempPath方法:返回当前系统的临时文件夹的路径; 。

问题6:如何判断一个路径是绝对路径还是相对路径; 。

使用Path.IsPathRooted方法; 。

问题7:如何读取或设置当前目录; 。

使用Directory类的GetCurrentDirectory和SetCurrentDirectory方法; 。

问题8:判断两个文件的内容是否一致 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public static bool IsFilesEqual( string fileName1, string fileName2)
{
   using (HashAlgorithm hashAlg = HashAlgorithm.Create())
   {
    using (FileStream fs1 = new FileStream(fileName1, FileMode.Open), fs2 = new FileStream(fileName2, FileMode.Open))
    {
     byte [] hashBytes1 = hashAlg.ComputeHash(fs1);
     byte [] hashBytes2 = hashAlg.ComputeHash(fs2);
     // 比较哈希码
     return (BitConverter.ToString(hashBytes1) == BitConverter.ToString(hashBytes2));
    }
   }
}

问题9:计算一个目录的大小 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private long CalculateDirSize(DirectoryInfo di, bool includeSubDir)
{
   long totalSize = 0;
   // 检查所有(直接)包含的文件
   FileInfo[] files = di.GetFiles();
   foreach (FileInfo file in files)
   {
    totalSize += file.Length;
   }
   // 检查所有子目录,如果includeSubDir参数为true
   if (includeSubDir)
   {
    DirectoryInfo[] dirs = di.GetDirectories();
    foreach (DirectoryInfo dir in dirs)
    {
     totalSize += CalculateDirSize(dir, includeSubDir);
    }
   }
   return totalSize;
}

希望本文所述对大家的C#程序设计有所帮助.

最后此篇关于C#路径,文件,目录及IO常见操作汇总的文章就讲到这里了,如果你想了解更多关于C#路径,文件,目录及IO常见操作汇总的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com