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

これは、理想的には 5 文字のみを返す必要がある場合に、9 つのスペースと 5 文字です。

では、どうすればこれを行うことができますか。サンプル コードと Web リンクをいただければ幸いです。

4

1 に答える 1

1

メソッドのoffset引数は、ファイルではなくreadBytes出力へのオフセットを指定しByteArrayます。FileStreamプロパティを設定することでシークできpositionます。次のことを試してください。

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