2009-09-08 50 views
0

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

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

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

回答

1

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

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

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

+0

下面是关于Crantastic RCurl的链接:http://crantastic.org/packages/RCurl – medriscoll 2009-09-08 19:34:22

1

如果将'n'设置为相当大,请阅读文件,检查可能的溢出并在必要时再次尝试。

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