<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://technolog.nl/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>eprogrammer : File.Exists</title><link>http://technolog.nl/blogs/eprogrammer/archive/tags/File.Exists/default.aspx</link><description>Tags: File.Exists</description><dc:language>en</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>Howto: Check the case sensitive existence of a file</title><link>http://technolog.nl/blogs/eprogrammer/archive/2009/07/06/Howto_3A00_-Check-the-case-sensitive-existence-of-a-file.aspx</link><pubDate>Mon, 06 Jul 2009 09:03:00 GMT</pubDate><guid isPermaLink="false">3420c8e2-8f96-4c4a-9e98-3bc38250dfb6:1474</guid><dc:creator>eprogrammer</dc:creator><slash:comments>0</slash:comments><comments>http://technolog.nl/blogs/eprogrammer/comments/1474.aspx</comments><wfw:commentRss>http://technolog.nl/blogs/eprogrammer/commentrss.aspx?PostID=1474</wfw:commentRss><description>&lt;p&gt;Sometimes, especially for files running on external FTP servers, where file names are case sensitive, a file named myFILE.html, is not the same file as myfile.html in the same path!&lt;/p&gt;&lt;p&gt;This function, can be used on an NTFS path for that purpose where File.Exists would fail, because it is case insensitive. (However, it does not enable you to have two files with just a different case in the same path)&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;///&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;///&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt; Checks existance of file using a case sensitive compare&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;///&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;///&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;&amp;lt;param name=&amp;quot;file&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt;must be full filename&lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;///&lt;/span&gt;&lt;span style="font-family:'Courier New';color:green;font-size:10pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Courier New';color:gray;font-size:10pt;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';color:blue;font-size:10pt;"&gt;static&lt;/span&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; FileExists(&lt;span style="color:blue;"&gt;string&lt;/span&gt; file)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;text-indent:35.4pt;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';color:blue;font-size:10pt;"&gt;string&lt;/span&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt; pathCheck = &lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.GetDirectoryName(file);&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;text-indent:35.4pt;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span style="font-family:'Courier New';color:blue;font-size:10pt;"&gt;string&lt;/span&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&amp;nbsp;filePart = &lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.GetFileName(file);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(pathCheck))&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;throw&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ArgumentException&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;The file must include a full path&amp;quot;&lt;/span&gt;, file);&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] checkFiles = &lt;span style="color:#2b91af;"&gt;Directory&lt;/span&gt;.GetFiles(pathCheck,&amp;nbsp;&lt;span style="color:#2b91af;"&gt;&lt;font color="#000000"&gt;filePart&lt;/font&gt;&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;SearchOption&lt;/span&gt;.TopDirectoryOnly);&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (checkFiles != &lt;span style="color:blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; checkFiles.Length &amp;gt; 0)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//must be a binary compare&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.GetFileName(checkFiles[0]) == filePart;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:'Courier New';font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span style="line-height:115%;font-family:'Courier New';font-size:10pt;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://technolog.nl/aggbug.aspx?PostID=1474" width="1" height="1"&gt;</description><category domain="http://technolog.nl/blogs/eprogrammer/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://technolog.nl/blogs/eprogrammer/archive/tags/Case+sensitive/default.aspx">Case sensitive</category><category domain="http://technolog.nl/blogs/eprogrammer/archive/tags/File.Exists/default.aspx">File.Exists</category></item></channel></rss>