C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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 fileName = @"C:\mydir\123.ext"; 
       Path.IsPathRooted(fileName);            //true        string UncPath = @"\\myPc\mydir\myfile";
       Path.IsPathRooted(UncPath);    //true
       string relativePath = @"mydir\sudir\";
       Path.IsPathRooted(relativePath); //false
       Console.ReadKey();

 

posted on 2013-01-12 21:22  逆心  阅读(3990)  评论(1编辑  收藏  举报