The functions file_create()
and dir_create()
ensure that path
exists;
if it already exists it will be left unchanged. That means that compared to
file.create()
, file_create()
will not truncate an existing file, and
compared to dir.create()
, dir_create()
will silently ignore existing
directories.
file_create(path, ..., mode = "u=rw,go=r")
dir_create(path, ..., mode = "u=rwx,go=rx", recurse = TRUE, recursive)
link_create(path, new_path, symbolic = TRUE)
A character vector of one or more paths. For link_create()
,
this is the target.
Additional arguments passed to path()
If file/directory is created, what mode should it have?
Links do not have mode; they inherit the mode of the file they link to.
should intermediate directories be created if they do not exist?
(Deprecated) If TRUE
recurse fully.
The path where the link should be created.
Boolean value determining if the link should be a symbolic (the default) or hard link.
The path to the created object (invisibly).
file_create("foo")
is_file("foo")
#> foo
#> TRUE
# dir_create applied to the same path will fail
try(dir_create("foo"))
#> Error : [EEXIST] Failed to make directory 'foo': file already exists
dir_create("bar")
is_dir("bar")
#> bar
#> TRUE
# file_create applied to the same path will fail
try(file_create("bar"))
#> Error : [EISDIR] Failed to open 'bar': illegal operation on a directory
# Cleanup
file_delete("foo")
dir_delete("bar")