C#文件路径的写法

Posted BrokenIce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#文件路径的写法相关的知识,希望对你有一定的参考价值。

在C#中 “\\”是特殊字符,要表示它的话需要使用“\\\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\\”。所以上面的路径在C#中应该表示为“Book”,@“\\Tmp\\Book”,@“C:\\Tmp\\Book”。
1.绝对路径
   
    绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\\book\\网页布局代码\\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\\book\\网页布\\代码\\第2章\\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:
<body backround="E:\\book\\网页布局\\代码\\第2章\\bg.jpg" > 
 
2.相对路径
  
   为了避免这种隋况发生,通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,“s1.htm” 文件里引用了“bg.jpg”图片,由于“bg.jpg”图片相对于“s1.htm”来说,是在同一个目录的,那么要在“s1.htm”文件里使用以下代 码后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。
      <body background="bg.jpg">
再 举一个例子,假设“s1.htm”文件所在目录为“E:\\book\\网页布局\\代码\\第2章”,而“bg.jpg”图片所在目录为“E:\\book\\网页 布局\\代码\\第2章\\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的“img”子目录里,则引用图片的语句应该 为:
      <body background="img/bg.jpg">  
 
    注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\\”或“/”字符作为目录的分隔字符。由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。
在 相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”,例如“http://www.cnblogs.com/”代表上上级目录。假设 “s1.htm”文件所在目录为“E:\\book\\网页布局\\代码\\第2章”,而“bg.jpg”图片所在目录为“E:\\book\\网页布局\\代码”,那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里,则引用图片的语句应该为:
      <body background="../bg.jpg">  
 
  再举一个例子,假设“s1.htm”文件所在目录为“E:\\book\\网页布局\\代码\\第2章”,而“bg.jpg”图片所在目录为“E:\\book\\网 页布局\\代码\\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里的“img”子目录里,则引用图片的语句 应该为:
      <body background="../img/bg.jpg">  
 
3.相对虚拟目录
 
有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:
      <body background="/img/bg.jpg">  
 
  在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 假设把“E:\\book\\网页布局\\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\\book\\网页布局\\代码\\img \\bg.jpg”;如果把“E:\\book\\网页布局\\代码\\第2章”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\\book\\网页 布局\\代码\\第2章\\img\\bg.jpg”

以上是关于C#文件路径的写法的主要内容,如果未能解决你的问题,请参考以下文章

总结相对路径和绝对路径的写法

静态文件路径的灵活写法

Unity 获取指定路径文件夹下所有文件集合(递归写法)

java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)

hdfs文件路径写法

Nodejs读取文件时相对路径的正确写法(使用fs模块)