我想以二进制格式写入(然后检索)数据。我试图让一个最小的例子至少工作到气味测试的水平(读取输入应该看起来像书面输出),但我没有得到它,并且始终正确。我的机器是带有小端序的 linux,但由于这里是恒定的,所以我在调用中省略了它。我也不确定是否最好size
在写入中指定参数,或者将其省略。无论如何,加载的输入看起来不像out
:
out<-seq(1,50,2)
##write
write<-file('~/output.txt','wb')
writeBin(out,con=write,size=4)
close(write)
##read
read<-file('~/output.txt','rb')
readBin(con=read,what=numeric(),n=length(out))
# [1] 3.200001e+01 3.276801e+04 1.048576e+06 1.677722e+07 1.006633e+08 4.026532e+08 1.610613e+09 6.442452e+09 1.503239e+10 3.006478e+10 6.012955e+10 1.202591e+11
close(read)