1、文件查看
#列出当前工作目录下所有的文件和文件夹 list.files() #列出当前工作目录下所有的文件,包含子目录文件 list.files(recursive = TRUE) #列出当前工作目录下所有.R结尾的文件 list.files(pattern = "*.R") dir(pattern = "*.R") #列出当前工作目录下所有子目录,默认的recursive = TRUE list.dirs()
2、路径操作
#在当前工作目录下创建文件夹testfolder dir.create(file.path(getwd(), 'testfolder')) #默认的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 ", file = "A.txt") cat("file B ", file = "B.txt") cat("file C ", 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"))