This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/files.html
files {base}R Documentation

File Manipulation

Description

These functions provide a low-level interface to the computer's file system.

Usage

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)

Arguments

..., file1, file2, from, to, path

character vectors, containing file names.

overwrite

logical; should the destination files be overwritten?

Details

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.

Author(s)

Ross Ihaka, Brian Ripley

See Also

file.info, file.access, file.path, file.show, list.files, unlink.

Examples

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")

[Package base version 1.5.0 ]