Project1
标题:
File.read还有什么限制么?
[打印本页]
作者:
secondsen
时间:
2009-11-14 17:35
标题:
File.read还有什么限制么?
ruby File.read还有什么限制么?RT.。。。
怎么
f = File.open("xxx","r")
f.pos = pos #获取的起始位置
str = f.read[0...length].clone #length 是这要读取的长度
就这样。。。
print str[index]
当 index > 1326 时 都是 nil了 长度length 是 1693 还没超过长度啊。。。。怎么就是nil了
File.open ("xxx")这个文件 690M。。。文件读取的起始位置是 0x5DD 刚开始读呢。。。
我用winhex打开文件
pos:1326 + 0x5DD-> 10 ->这个读到了,后面都变成nil了
1327+0x5DD-> 1A
1328+0x5DD->69
为什么我写的这段就变成nil了呢?
作者:
紫苏
时间:
2009-11-15 05:25
你文件中有没有换行?如果有的话,把读取模式改为二进制模式(即把 "r" 改为 "rb"),否则你虽然知道长度是 1693 字节,但是按照 "r" 文本格式读取的时候,如果文件中有回车符 "\r",那么所有的回车符都会被抛弃,最后得到的字符串长度自然也就小于 1693 了
作者:
secondsen
时间:
2009-11-16 00:37
谢谢!非常感谢!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1