首页 > 其他分享 >DriveInfo类,Path类

DriveInfo类,Path类

时间:2024-08-17 20:15:46浏览次数:9  
标签:1024 Console string DriveInfo WriteLine Path

DriveInfo类

DriveInfo类用于获取有关驱动器(如硬盘驱动器、软盘驱动器、CD-ROM 驱动器等)的信息。


// 获取所有逻辑驱动器的信息   Drive驱动
DriveInfo[] drives = DriveInfo.GetDrives();

foreach (DriveInfo drive in drives)
{
    Console.WriteLine($"Drive: {drive.Name}");  // 驱动名称
    Console.WriteLine($"  Volume Label: {drive.VolumeLabel}");  // 卷标
    Console.WriteLine($"  Type: {drive.DriveType}");  // 驱动类型
    Console.WriteLine($"  Available Space: {drive.AvailableFreeSpace / 1024 / 1024/ 1024} bytes");// 可用空间
    Console.WriteLine($"  Total Size: {drive.TotalSize / 1024 / 1024 / 1024} bytes");  // 总空间
    Console.WriteLine($"  IsReady: {drive.IsReady}");// 磁盘是否准备好
    Console.WriteLine($"  Root Directory: {drive.RootDirectory.Name}");//盘符
}

DriveInfo info = new DriveInfo("D");
Console.WriteLine(info.AvailableFreeSpace/ 1024 / 1024 / 1024D);

Path类

Path类提供了用于处理文件和目录路径的静态方法。


// 目录===文件夹,路径
// DirectorySeparatorChar  目录分割符有两种:/  \,其中\默认的,
Console.WriteLine($"Path.DirectorySeparatorChar: '{Path.DirectorySeparatorChar}'");

// Alternate可选,可切换  分割符/
Console.WriteLine($"Path.AltDirectorySeparatorChar: '{Path.AltDirectorySeparatorChar}'");

// 多个路径之间分割符,是英文的分号;
Console.WriteLine($"Path.PathSeparator: '{Path.PathSeparator}'");

// 规律:方法带s结尾基本上集合    Invalid非法字符
var invalidChars = Path.GetInvalidPathChars();
string str = string.Empty;
foreach (char c in invalidChars)
{
    str += c.ToString();
}
Console.WriteLine(str);

// Volume卷标,盘符,分割符英文:
Console.WriteLine($"Path.VolumeSeparatorChar: '{Path.VolumeSeparatorChar}'");

// 注意:最后一个英文点后面的才是后缀名(扩展名)
string goodFileName = @"C:\mydir\myfile.com.extension";
string result = Path.ChangeExtension(goodFileName, ".old");
Console.WriteLine("ChangeExtension({0}, '.old') returns '{1}'",
    goodFileName, result);

// 拿扩展名,注意:取扩展名时,包含英文点
Console.WriteLine(Path.GetExtension(goodFileName));  // .extension

string[] pathArr = goodFileName.Split(new char[] { '.' });
string ext = pathArr[pathArr.Length - 1];
Console.WriteLine(ext);// 不带英文.

// 路径拼接,合并   Combine合并
// d:\archives\2001\media\images\a.jpg
string[] paths = { @"d:\archives", "2001", "media", "images", "a.jpg" };
string fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);

// GetDirectoryName获取路径的目录部分
Console.WriteLine(Path.GetDirectoryName(goodFileName));
Console.WriteLine(Path.GetDirectoryName(fullPath));
// 取路径中的文件部分
Console.WriteLine(Path.GetFileName(fullPath));
Console.WriteLine(Path.GetFileName(@"D:\abc"));
Console.WriteLine(Path.GetFileNameWithoutExtension(fullPath)); // a

Console.WriteLine(Path.GetFullPath(fullPath));

char[] chars = Path.GetInvalidFileNameChars();
Console.WriteLine(string.Join("-", chars));

Console.WriteLine(Path.GetPathRoot(fullPath));

Console.WriteLine(Path.GetRandomFileName());
Console.WriteLine(Path.GetRandomFileName());

// 随机生成一个txt文件,要求:还上时间戳

string randomString = Path.GetRandomFileName();
string fileName = randomString.Split(new char[] { '.' })[0];
string tick = DateTime.Now.Ticks.ToString();
string fullFileName = $"{tick}-{fileName}.txt";
Console.WriteLine(fullFileName);

Console.WriteLine($"{tick}-{Path.ChangeExtension(randomString, ".txt")}");

// C:\Users\XXXX\AppData\Local\Temp
Console.WriteLine(Path.GetTempFileName());
Console.WriteLine(Path.GetTempFileName());

标签:1024,Console,string,DriveInfo,WriteLine,Path
From: https://www.cnblogs.com/dbsdb/p/18364911

相关文章

  • Paths和Files
    Paths类Paths类主要用于操作文件和目录路径。它提供了一些静态方法,用于创建java.nio.file.Path实例,代表文件系统中的路径。//创建一个Path实例,表示当前目录下的一个文件Pathpath=Paths.get("example.txt");//创建一个绝对路径PathabsolutePath=Paths.get("/home/u......
  • [20240815]oracle21c环境变量ORACLE_PATH与SQLPATH(windows).txt
    [20240815]oracle21c环境变量ORACLE_PATH与SQLPATH(windows).txt--//我记忆以前测试过这个问题,当时是家里的笔记本,安装oracle12.2cforwindows.OS:windows7,发现无法访问SQLPATH或者--//ORACLE_PATH环境变量定义的路径下login.sql文件.我当时解决办法就是登录手工执行init.sq......
  • [20240816]oracle21c环境变量ORACLE_PATH与SQLPATH(linux).txt
    [20240816]oracle21c环境变量ORACLE_PATH与SQLPATH(linux).txt--//我记忆以前测试过这个问题,当时是家里的笔记本,安装oracle12.2cforwindows.OS:windows7,发现无法访问SQLPATH或者--//ORACLE_PATH环境变量定义的路径下login.sql文件.我当时解决办法就是登录手工执行init.sql......
  • JsonPath断言
    JsonPath断言1、Maven引入依赖<!--JsonPath依赖项--><dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><version>2.7.0</version>......
  • maven依赖 pom.xml中systemPath的用法
    在pom.xml文件中,可以使用${project.basedir}变量来表示项目的根目录,通过结合这个变量,可以轻松地使用相对路径来引用systemPath。如果希望引用项目根目录下的lib目录中的jar包,可以这样配置:<dependency><groupId>org.artofsolving.jodconverter</groupId><artifactId>jo......
  • SLF4J: Class path contains multiple SLF4J bindings. 运行报错 表示在您的应用程序
    java使用SLF4J时出现下面的错误,是因为项目中使用了多个SLF4J的类库SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/D:/%e5%bd%93%e5%89%8d%e5%b7%a5%e4%bd%9c/SipPBX%e8%ae%af%e6%97%b6/JoinCallOMCC/JoinCallOMCC/out/artifacts/......
  • UiPath发送邮件到指定邮箱有哪些方法技巧?
    UiPath发送邮件到指定邮箱指南?UiPath邮件发送教程?UiPath作为一款功能强大的自动化工具,提供了多种方法和技巧来实现这一需求。AokSend将深入探讨UiPath发送邮件的不同方法和相关技巧,以帮助用户更高效地完成邮件发送任务。UiPath发送邮件:内容附件通过合适的模板和变量,能够让......
  • axios报错Module not found: Error: Package path ./lib/helpers/buildURL is not exp
    node12使用axios报错:Modulenotfound:Error:Packagepath./lib/helpers/buildURLisnotexportedfrompackageimportbuildURLfrom"axios/lib/helpers/buildURL";import{merge}from"axios/lib/utils";一、原因:对于importaxiosfrom‘./lib/......
  • uniapp中如何使用uni.canvasToTempFilePath方法上传Canvas内容为图片,并理解其工作原理
    1.主函数uni.canvasToTempFilePath({ canvasId:'canvasid', fileType:'png', quality:1,//图片质量 success(res){ uni.uploadFile({ url:that.baseUrl+'/file/upload',//后端接口地址 name:'file&......
  • 安装local-path-provisioner基于HostPath动态制备PV
    目录一、背景二、安装local-path-provisioner1、地址2、更改local-path-provisioner使用的默认存储路径3、创建文件并提权4、创建NameSpace5、应用local-path-storage6、验证相关资源状态三、设置local-path为defaultSC四、使用StorageClass动态制备PV1、创建PVC2、创建......