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)

Arguments

path

A character vector of one or more paths.

...

Additional arguments passed to path()

mode

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.

recurse

should intermediate directories be created if they do not exist?

recursive

(Deprecated) If TRUE recurse fully.

new_path

The path where the link should be created.

symbolic

Boolean value determining if the link should be a symbolic (the default) or hard link.

Value

The path to the created object (invisibly).

Examples

.old_wd <- setwd(tempdir()) 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") setwd(.old_wd)