#
默认的recursive为FALSE,创建子目录失败
dir.create(file.path(getwd(),
'
testfolder2
'
,
'
subfolder
'
))
#
文件夹不存在返回FALSE
dir.exists(file.path(getwd(),
'
testfolder2
'
,
'
subfolder
'
))
#
设置recursive为TRUE,创建子目录
dir.create(file.path(getwd(),
'
testfolder2
'
,
'
subfolder
'
), recursive =
TRUE)
#
创建成功返回TRUE
dir.exists(file.path(getwd(),
'
testfolder2
'
,
'
subfolder
'
))
3、文件处理
#文件不存在则创建文件,存在则覆盖之前的文件
file.create('cretestfile.txt')
#判断文件是否存在,返回TRUE
file.exists('cretestfile.txt')
#默认mode = 0判断文件是否存在,存在返回0
file.access('cretestfile.txt')
#删除文件cretestfile.txt,文件不存在会返回warning信息
file.remove('cretestfile.txt')
#读取bin目录下所有文件及目录
d <- dir(file.path(R.home(), "bin"))
#读取bin目录下所有文件及目录(包含全路径)
df <- dir(file.path(R.home(), "bin"), full.names = TRUE)
#列出所有存在的文件
d[file.access(df, 0) == 0]
#列出所有可执行文件
d[file.access(df, 1) == 0]
#列出所有可写文件
d[file.access(df, 2) == 0]
#列出所有可读文件
d[file.access(df, 4) == 0]
#创建并写入数据到文件A.txt和B.txt
cat("file A\n", file = "A.txt")
cat("file B\n", file = "B.txt")
cat("file C\n", file = "C.txt")
#添加文件C.txt的内容到A.txt和B.txt
file.append(c("A.txt", "B.txt"), "C.txt")
#修改文件名C.txt为D.txt
file.rename("C.txt", "D.txt")
#复制D.txt中的内容10遍,添加到文件A.txt和B.txt各5次
file.append(c("A.txt", "B.txt"), rep("D.txt", 10))
#读取文件A.txt和B.txt的内容
file.show(c("A.txt", "B.txt"))
#复制文件D.txt到C.txt
file.copy("D.txt", "C.txt")
#C.txt已存在,设置overwrite = TRUE进行覆盖
file.copy("D.txt", "C.txt", overwrite = TRUE)
#新建tmp文件夹,并拷贝A.txt和B.txt到tmp文件夹下
dir.create("tmp")
file.copy(c("A.txt", "B.txt"), "tmp")
#删除tmp文件夹
unlink("tmp", recursive = TRUE)
#删除文件
unlink(c("A.txt", "B.txt", "C.txt","D.txt"))