From maechler at stat.math.ethz.ch  Fri Jan 17 12:16:49 2014
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Fri, 17 Jan 2014 12:16:49 +0100
Subject: [Rd] file.exists does not like path names ending in /
In-Reply-To: <CAP01uRmStfL2Kd0AK0KGGkdeUY_Qbde885AfSDy8VNDHbras7g@mail.gmail.com>
References: <CAP01uRmStfL2Kd0AK0KGGkdeUY_Qbde885AfSDy8VNDHbras7g@mail.gmail.com>
Message-ID: <21209.4385.976759.215210@stat.math.ethz.ch>

>>>>> Gabor Grothendieck <ggrothendieck at gmail.com>
>>>>>     on Fri, 17 Jan 2014 00:10:43 -0500 writes:

    > If a path name ends in slash then file.exists says it does
    > not exist.  I would have expected these to all return
    > TRUE.

    >> file.exists("/Program Files")
    > [1] TRUE
    >> file.exists("/Program Files/")
    > [1] FALSE
    >> file.exists(normalizePath("/Program Files/"))
    > [1] FALSE
    >> R.version.string
    > [1] "R version 3.0.2 Patched (2013-11-25 r64299)"

I would also have expected all these to work,
but that is only because I do not use Windows;
indeed, for me  (Linux Fedora 19, but I'm pretty sure *any*
version):

  > dir.create("/tmp/foo bar")
  > normalizePath("/tmp/foo bar/")
  [1] "/tmp/foo bar"
  > file.exists("/tmp/foo bar/")
  [1] TRUE
  > file.exists(normalizePath("/tmp/foo bar/"))
  [1] TRUE
  > 


    > I am using Windows 8.1 .

poor you  ;-)   yes, don't take it personally

Last but not least   ?file.exists   in its  'Details' section
mentions several times how Windows behaves differently from the 
civilized world (:-)
notably that it also says 

  (However,
     directory names must not include a trailing backslash or slash on
     Windows.)

So, all seems as documented, but unfortunately your (and most
probably not only yours !!) expectations are different.
I agree that this is quite unfortunate, and we all would be
happy if OSes were consistent here.

I wonder if R couldn't help you (and many others) better to
gloss over these OS differences in a helpful way.
This list may be a good place to discuss such proposals ...

Martin

-- 
Martin Maechler ETH Zurich -- and R Core Team



[Rd] file.exists does not like path names ending in /
Martin Maechler