These functions 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", recursive = TRUE)

link_create(path, new_path, symbolic = TRUE)

Arguments

path

A character vector of one or more paths.

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.

recursive

should intermediate directories be created if they do not exist?

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

file_create("foo") is_file("foo")
#> foo #> TRUE
# dir_create applied to the same path will fail try(dir_create("foo")) dir_create("bar") is_dir("bar")
#> bar #> TRUE
# file_create applied to the same path will fail try(file_create("bar")) # Cleanup file_delete("foo") dir_delete("bar")