如何在R中读取256个字节的块?

时间:2019-01-25 02:05:38

标签: r byte chunks

我是R语言的新手。我有一个名为testing.exe的文件,我想在R中读取其中的每个256字节。

我遇到了https://www.r-bloggers.com/example-10-1-read-a-file-byte-by-byte/个网站以适合我的情况:

finfo = file.info("testing.exe")
toread= file("testing", "rb")
alldata = readBin(toread, raw(256), n = finfo$size, endian="little")

但是alldata给了我raw(0)。这是什么意思?我希望alldata会给出一系列字节值吗?我应该如何修改代码?谢谢!

1 个答案:

答案 0 :(得分:0)

您真的无法在一个调用中全部读取一堆256字节的块。您可以读取整个文件...

fname <- "testing.exe"
finfo <- file.info(fname)
toread <- file(fname, "rb")
alldata <- readBin(toread, raw(), n = finfo$size, endian="little")
close(toread)

或者您可以循环读取一次大块

fname <- "testing.exe"
toread <- file(fname, "rb")
repeat {
  chunk <- readBin(toread, raw(), n = 256, endian="little")
  if (length(chunk)==0) break;
  print(chunk);
}
close(toread)