如何检查本地文件的存在

时间:2013-02-15 23:19:15

标签: r

我创建了一个R markdown文件,首先从网上加载文件。我发现cache = TRUE有点不稳定所以我想在下载前检查下载的文件是否存在if条件。

当前代码 - 始终下载文件

fileURL <- "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"
setInternet2(TRUE)
download.file(fileURL ,destfile="./data/samsungData.rda",method="auto")
load("./data/samsungData.rda")

所需代码 - 仅在尚未下载的情况下上传

 destfile="./data/samsungData.rda"    
 fileURL <-
 "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"   
 if (destFile doesNotExist) {
    setInternet2(TRUE)
    download.file(fileURL ,destfile,method="auto") }
    load("./data/samsungData.rda")
 }
 load(destfile)

什么语法会给我条件“destFile doesNotExist”

3 个答案:

答案 0 :(得分:69)

您可以使用tryCatch

  if(!file.exists(destfile)){
    res <- tryCatch(download.file(fileURL,
                              destfile="./data/samsungData.rda",
                              method="auto"),
                error=function(e) 1)
    if(dat!=1) load("./data/samsungData.rda") 
}

答案 1 :(得分:22)

根据@agstudy给出的答案

 destfile="./data/samsungData.rda" 
 fileURL <-
 "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"   
 if (!file.exists(destfile)) {
    setInternet2(TRUE)
    download.file(fileURL ,destfile,method="auto") }
    load("./data/samsungData.rda")
 }
 load(destfile)

答案 2 :(得分:8)

检查工作目录中是否存在文件的简单方法是: 其中(list.files()==&#34; nameoffile.csv&#34;)

这并没有完全回答他的问题,但我认为这可能对那些只想检查目录中是否有特定文件的人有所帮助。