files {base} | R Documentation |
These functions provide a low-level interface to the computer's file system.
file.create(...)
file.exists(...)
file.remove(...)
file.rename(from, to)
file.append(file1, file2)
file.copy(from, to, overwrite = FALSE)
dir.create(path)
basename(path)
dirname(path)
path.expand(path)
... , file1 , file2 , from , to , path |
character vectors, containing file names. |
overwrite |
logical; should the destination files be overwritten? |
The ...
arguments are concatenated to form one character
string: you can specify the files separately or as one vector.
file.create
creates files with the given names if they
do not already exist and truncates them if they do.
It returns a logical vector indicating the success or failure
of the operation for each file.
file.exists
returns a logical vector indicating whether
the files named by its argument exist.
file.remove
attempts to remove the files named in its
argument. It returns a logical vector indicating whether or
not it succeeded in removing each file.
file.rename
attempts to rename a file. It returns a logical
value indicating whether the operation succeeded.
file.append
attempts to append the files named by its
second argument to those named by its first. The R subscript
recycling rule is used to align names given in vectors
of different lengths.
file.copy
works in a similar way to file.append
but with
the arguments in the natural order for copying. Copying to existing
destination files is skipped unless overwrite = TRUE
.
The to
argument can specify a single existing directory.
dir.create
creates the last element of the path. It returns a
logical, true for success.
basename
removes all of the path up to the last path separator
(if any).
dirname
returns the part of the path
up to (but
excluding) the last path separator, or "."
if there is no path
separator. Tilde expansion is done: see the description for
path.expand
below.
In both basename
and dirname
trailing file separators
are removed before dissecting the path, and for dirname
any
trailing file separators are removed from the result.
path.expand
expands path(s) by replacing a leading tilde by the
user's home directory (if defined on that platform).
On some Unix versions, a leading ~user
will expand to
the home directory of user
, but not on Unix versions without
readline
installed.
Ross Ihaka, Brian Ripley
file.info
, file.access
, file.path
,
file.show
, list.files
,
unlink
.
cat("file A\n", file="A")
cat("file B\n", file="B")
file.append("A", "B")
file.create("A")
file.append("A", rep("B", 10))
if(interactive()) file.show("A")
file.copy("A", "C")
dir.create("tmp")
file.copy(c("A", "B"), "tmp")
unlink("tmp", recursive=TRUE)
file.remove("A", "B", "C")
basename(file.path("","p1","p2","p3","filename"))
dirname(file.path("","p1","p2","p3","filename"))
path.expand("~/foo")