1
我是红宝石新手,我无法解决问题。我有一个大的流文件File.dat,而我所知道的是它的结构。红宝石.dat文件拆分
它始于
数字 - 3个字符
数字 - 10个字符
数字 - 2个字符
数字 - 12个字符
字母数字 - 30个字符
我需要t把它(这个开始描述)切成5个变量,以便能够使用它。到目前为止,我只能够有一个txt文件做到这一点,但它不会对.dat文件
file = File.open("file.txt", 'r')
while !file.eof?
line = file.readline
end
var1 = line[0..2]
var2 = line[3..12]
var3 = line[13..14]
var4 = line[15..26]
var5 = line[27..56]
puts var1
是什么txt文件和DAT文件之间有什么区别?它只是内容还是你的dat文件还有别的像命名管道?你的程序的输出是什么?预期的产出? –
欢迎来到SO。它是一个二进制文件吗?如果不是,你知道它的字符编码是什么?如果您对字段的固定长度有信心,您可以一次尝试读取几个字节。查看[IO#read](http://ruby-doc.org/core-2.0/IO.html#method-i-read)和[IO.binread](http://ruby-doc.org/core -2.0/IO.html#method-c-binread) –
该文件是一个二进制流文件,(希望我理解正确)一个命名管道。关于程序的输出,没有,我只需要将它切成变量或数组。我添加了文本文件的代码,以显示我需要的基本(txt)文件 –