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. 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? The path where the link should be created. 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"))#> 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")