System.IO.Path类

System.IO.Path为路径的操作封装了很多很有的东西,利用该类提供的方法能够快速处理路径操作的问题。下面详细了解一下。

1、属性

  属性太复杂了,反映什么系统平台的信息,看不懂,等以后看得懂了再补充。

2、方法

ChangeExtension          更改路径字符串的扩展名。       

Combine               合并两个路径字符串。       

GetDirectoryName           返回指定路径字符串的目录信息。        

GetExtension            返回指定的路径字符串的扩展名。        

GetFileName              返回指定路径字符串的文件名和扩展名。        

GetFileNameWithoutExtension   返回不具有扩展名的指定路径字符串的文件名。        

GetFullPath              返回指定路径字符串的绝对路径。      

GetInvalidFileNameChars        获取包含不允许在文件名中使用的字符的数组。        

GetInvalidPathChars          获取包含不允许在路径名中使用的字符的数组。        

GetPathRoot              获取指定路径的根目录信息。       

GetRandomFileName          返回随机文件夹名或文件名。        

GetTempFileName          创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。        

GetTempPath            返回当前系统的临时文件夹的路径。     

HasExtension            确定路径是否包括文件扩展名。        

IsPathRooted            获取一个值,该值指示指定的路径字符串是包含绝对路径信息还是包含相对路径信息。

            string str = "images/girl.jpg";
            string extend = Path.GetExtension(str);
            Console.WriteLine(extend);  //输出    .jpg

            string str1 = @"C:\App_Data";
            string str2 = @"images\girl.jpg";
            string newPath = Path.Combine(str1, str2);
            Console.WriteLine(newPath);     //输出C:\App_Data\images\girl.jpg       //会自动补充反斜杠
            string str = @"C:\girl.jpg";
            string newPath = Path.ChangeExtension(str, "gif");      //更改扩展名,但不改变原值
            Console.WriteLine(str + " 更改扩展名之后: " + newPath); //newPath为:C:\girl.gif

            string str = @"C:\App_data\upload\girl.jpg";
            string dictory = Path.GetDirectoryName(str);
            Console.WriteLine(dictory);     //输出 C:\App_data\upload

            string str = @"C:\App_data\upload\girl.jpg";
            string fileName = Path.GetFileName(str);
            Console.WriteLine(fileName);    //输出    girl.jpg

            string str = @"C:\App_data\upload\girl.jpg";
            string fileNameWithOutEntension = Path.GetFileNameWithoutExtension(str);
            Console.WriteLine(fileNameWithOutEntension);    //输出    girl

            string str = @"/upload/girl.jpg";
            string fullPath = Path.GetFullPath(str);
            Console.WriteLine(fullPath);    //输出    C:\upload\girl.jpg 这个东西也可以转换成绝对物理路径

            char[] chArr = Path.GetInvalidFileNameChars();
            foreach (char c in chArr)
            {
                Console.Write(c + " ");     //输出很多不允许在文件名使用的字符
            }

            char[] chArr = Path.GetInvalidPathChars();
            foreach (char c in chArr)
            {
                Console.Write(c + " ");      //输出很多不允许在路径中使用的字符
            }

            string str = @"C:\App_data\upload\girl.jpg";
            string rootInfo = Path.GetPathRoot(str);
            Console.Write(rootInfo);    //输出    C:
            string str = Path.GetRandomFileName();
            Console.Write(str);           //返回随机文件夹名或文件名

            string str = Path.GetTempFileName();    //创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径
            Console.Write(str);             //输出 C:\Users\Administrator\AppData\Local\Temp\temdw85.tmp

            string str = Path.GetTempPath();
            Console.Write(str);              //输出 C:\Users\Administrator\AppData\Local\Temp
            string str = @"C:\App_data\upload\girl.jpg";
            bool hasExtension = Path.HasExtension(str);     //确定路径是否含有扩展名,此处有.jpg返回true
            Console.Write(hasExtension);

            string str = @"C:\App_data\upload\girl.jpg";
            bool isPath = Path.IsPathRooted(str);       //判断给定的路径是绝对路径还是相对路径,此处返回true如果是App_data\upload\girl.jpg则返回false
            Console.Write(isPath);

            Console.ReadKey();
时间: 2024-10-16 23:28:31

System.IO.Path类的相关文章

[原]System.IO.Path.Combine 路径合并

使用 ILSpy 工具查看了 System.IO.Path 类中的 Combine 方法 对它的功能有点不放心,原方法实现如下: // System.IO.Path /// <summary>Combines two path strings.</summary> /// <returns>A string containing the combined paths. If one of the specified paths is a zero-length stri

详解C#中System.IO.File类和System.IO.FileInfo类的用法

System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开方法:File.Open () 该方法的声明如下:     public static FileStream Open(string path,FileMode mode)  下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello. pri

C#、.Net代码精简优化(空操作符(??)、as、string.IsNullOrEmpty() 、 string.IsNullOrWhiteSpace()、string.Equals()、System.IO.Path 的用法)

一.空操作符(??)在程序中经常会遇到对字符串或是对象判断null的操作,如果为null则给空值或是一个指定的值.通常我们会这样来处理: 1.string name = value; if (name == null) { name = string.Empty; } 2.使用三元操作符(? :)对上面对吗进行优化: string name = value == null ? string.Empty : value; 上面的两种方式 的代码不够简洁,?? 操作符来进行进一步优化,?? 操作符意

C#使用System.IO.Path获取文件路径、文件名

class Program { static void Main(string[] args) { //获取当前运行程序的目录 string fileDir = Environment.CurrentDirectory; Console.WriteLine("当前程序目录:"+fileDir); //一个文件目录 string filePath = "C:\\bin\\files\\test.xml"; Console.WriteLine("该文件的目录:

System.IO.Path 文件名、路径、扩展名 处理

string filePath [email protected]"E:/Randy0528/中文目录/JustTest.rar"; 更改路径字符串的扩展名.System.IO.Path.ChangeExtension(filePath, "txt");E:/Randy0528/中文目录/JustTest.txt 返回指定路径字符串的目录信息.System.IO.Path.GetDirectoryName(filePath);E:/Randy0528/中文目录 返回

使用System.IO.Combine(string path1, string path2, string path3)四个参数的重载函数提示`System.IO.Path.Combine(string, string, string, string)&#39; is inaccessible due to its protection level

今天用Unity5.5.1开发提取Assets目录的模块,使用时采用System.IO.Path.Combine(string, string, string, string)函数进行路径生成 明明是公有函数,为何会报错,奇了怪了 有谁知道什么原因?欢迎交流 ....... ... 重新打开了一下 ,可以了.版本原因 使用System.IO.Combine(string path1, string path2, string path3)四个参数的重载函数提示`System.IO.Path.Co

System.IO.Directory类

1.参考的博客:System.IO.Directory类和System.DirectoryInfo类(http://blog.sina.com.cn/s/blog_614f473101017du4.html); 2.Directory 类:https://msdn.microsoft.com/zh-cn/library/system.io.directory.aspx 3.自己实践: 1 using System; 2 using System.Windows.Forms; 3 using Sy

Path类对路径字符串的操作

在写程序时,不时会用到处理文件路径的问题,例如:取得扩展名.从路径中取出文件名.路径合并.取出或者去年扩展名等.这些功能都可以通过System.IO.Path类提供的方法来实现.这些相关功能用过多次了,但是由于没有系统的整理,掌握得不够牢固,每次用到时都需要再重新查一遍,或者重新测试一下.今天把我想到的常用功能统一测试了一下,并把测试结果写下来,供我自己以及需要类似功能的人参考. 以下代码是在VSTS中写的单元测试代码. [TestMethod] public void testPath() {

Java输入、输入、IO流 类层次关系梳理

Java输入.输入.IO流 类层次关系梳理 本文主要关注在Java编程中涉及到的IO相关的类库.方法.以及对各个层次(抽线.接口继承)的流之间的关系进行梳理 相关学习资料 http://baike.baidu.com/view/1007958.htm?noadapt=1 http://blog.csdn.net/hguisu/article/details/7418161 https://www.ibm.com/developerworks/cn/java/j-lo-javaio/ http:/