0

我想直接从 R 中的 URL 读取长度不确定的二进制文件。使用readBin从 URL 读取,而不指定文件大小,不起作用。

 anImage <- readBin('http://user2010.org/pics/useR-large.png','raw')

是否有另一种方法可以做到这一点?

4

2 回答 2

1

这会将文件下载到工作目录,但不会直接下载到内存中。

download.file('http://user2010.org/pics/useR-large.png', 'anImage.png')

Rcurl 包也可以做你想做的事。(由于 SO 限制,链接未发布)

于 2009-09-08T18:47:44.240 回答
1

一个简单的解决方案是将“n”设置为相当大,读取文件,检查可能的溢出,并在必要时重试。

N <- 1e7
repeat
{
   anImage <- readBin(filename, 'raw', n=N)
   if(length(anImage) == N) N <- 5 * N else break
}
于 2009-09-09T11:04:36.983 回答