读取二进制文件,而文件仅支持open = w +

时间:2019-10-20 13:57:57

标签: r

我正在编写一个程序包以读取某些二进制文件。我为其中一个测试文件添加了一个示例。
现在,R CMD checkdevtools::check()在检查示例时会产生以下错误:

f <- system.file("tests/raa01-sf_10000-1910141950-dwd---bin", package="dwdradar")
out <- readRadarFile(binfile=f) 
   Warning in file(binfile, "rb") : file("") only supports open = "w+" and open = "w+b": using the former
   Error in readBin(confile, what = raw(), n = n, endian = "little") :  can only read from a binary connection

devtools::run_examples()工作正常。

1 个答案:

答案 0 :(得分:1)

从将f写入文本文件后,我看到它是一个空字符字符串“”。 将文件复制到inst / extdata并引用即可解决问题。
显然,base::system.fileC:/R/library/pack/tests/中找不到文件,即使它们已安装在我的计算机上也是如此。
devtools::run_examples()调用pkgload::system.file,因此返回包源文件夹中的本地路径