读取R中不确定长度的二进制数据

时间:2009-09-08 18:23:43

标签: r binaryfiles

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

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

是否有其他方法可以实现这一目标?

2 个答案:

答案 0 :(得分:1)

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

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

Rcurl包也可以做你想要的。 (链接因SO限制而未发布)

答案 1 :(得分:1)

一个简单的解决方案,如果将'n'设置得相当大,请读取文件,检查可能的溢出,并在必要时再试一次。

N <- 1e7
repeat
{
   anImage <- readBin(filename, 'raw', n=N)
   if(length(anImage) == N) N <- 5 * N else break
}