0

我正在尝试对文本文件进行一些操作。我在做什么如下:

使用以下代码读取文件:

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 个字符。

那么我该怎么做。任何示例代码和网络链接将不胜感激。

4

1 回答 1

1

该方法的offset参数readBytes指定到输出的偏移量ByteArray,而不是文件。FileStream您可以通过设置position属性来寻找。尝试以下操作:

inStream.position = 9;
inStream.readBytes(data, 0, 5);
于 2013-02-12T14:18:31.467 回答