我正在尝试对文本文件进行一些操作。我正在做的是:
使用以下代码阅读文件:
var data:ByteArray = new ByteArray();
var inFile:File = File.desktopDirectory;
inFile = inFile.resolvePath('dummy.txt');
var inStream:FileStream = new FileStream();
inStream.open(inFile, FileMode.READ);
inStream.readBytes(data, 0, data.length);
inStream.close();
假设dummy.txt文件的文本为abcdefghi123456789,其数据长度为18个字符。
案例1
如果我想阅读整个文件,我使用此代码
inStream.readBytes(data, 0, data.length);
这会成功返回完整的文件数据。
案例2 :
我想只读取字符12345并将它们存储在byteArray中,我试图像下面的代码中那样传递offSet
inStream.readBytes(data, 9, 5);
它返回以下数据的错误 -
___12345
这是9个空格,然后是5个字符,理想情况下应该只返回5个字符。
那我怎么能这样做呢。任何示例代码和网站链接都将不胜感激。
答案 0 :(得分:1)
offset
方法的readBytes
参数指定输出ByteArray
的偏移量,而不是文件。您可以通过设置FileStream
属性在position
中进行搜索。请尝试以下方法:
inStream.position = 9;
inStream.readBytes(data, 0, 5);