| files {base} | R Documentation |
These functions provide a low-level interface to the computer's file system.
file.create(..., showWarnings = TRUE) file.exists(...) file.remove(...) file.rename(from, to) file.append(file1, file2) file.copy(from, to, overwrite = recursive, recursive = FALSE) file.symlink(from, to)
..., file1, file2 |
character vectors, containing file names or paths. |
from, to |
character string, containing a file name or path. |
overwrite |
logical; should the destination files be overwritten? |
showWarnings |
logical; should the warnings on failure be shown? |
recursive |
logical. If to is a directory, should
directories in from be copied (and their contents). |
The ... arguments are concatenated to form one character
string: you can specify the files separately or as one vector.
All of these functions expand path names: see path.expand.
file.create creates files with the given names if they do not
already exist and truncates them if they do. They are created with the
maximal permissions allowed by the umask setting.
file.exists returns a logical vector indicating whether
the files named by its argument exist. (Here ‘exists’ is in the
sense of the system's stat call: a file will be reported as
existing only if you have the permissions needed by stat.
Existence can also be checked by file.access, which
might use different permissions and so obtain a different result.
Note that the existence of a file does not imply that it is readable:
for that use file.access.)
Note that if the file is a symbolic link, the result indicates if the
link points to an actual file, not just if the link exists.
file.remove attempts to remove the files named in its argument.
On most Unix platforms ‘file’ includes empty
directories, symbolic links, fifos and sockets. On Windows,
‘file’ means a regular file and not, say, an empty directory.
file.rename attempts to rename a single file. Where file
permissions allow this will first remove an existing file to.
This is subject to the limitations of the OS's corresponding system
call: in particular in the interpretation of ‘file’: also most
platforms will not rename files across file systems.
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.
file.symlink makes symbolic links on those Unix-like platforms
which support them. The to argument can specify a single
existing directory.
file.rename and file.symlink returns a logical value,
true for success.
The remaining functions return a logical vector indicating which operation succeeded for each of the files attempted. Using a missing value for a file or path name will always be regarded as a failure.
If showWarnings = TRUE, file.create will give a warning
for an unexpected failure.
Ross Ihaka, Brian Ripley
file.info, file.access, file.path,
file.show, list.files,
unlink, basename,
path.expand.
Sys.glob to expand wildcards in file specifications.
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")
list.files("tmp")
setwd("tmp")
file.remove("B")
file.symlink(file.path("..", c("A", "B")), ".")
setwd("..")
unlink("tmp", recursive=TRUE)
file.remove("A", "B", "C")