如何检查下载的文件是否存在

我已经创建了一个 R 标记文件,首先从网上载入一个文件。我发现 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”

98230 次浏览

你可以使用 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")
}

根据@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)

检查工作目录中是否存在文件的一个简单方法是: (list.files () = = “ nameoffile.csv”)

这并没有完全回答他的问题,但我认为这可能有助于某人谁只是想检查是否有一个特定的文件在他们的目录。