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)文件 –