2011-10-27 21 views
0

私はActionscriptを使用してAIRアプリケーションを構築しています。プログラムによってテキストを.webarchiveファイルに挿入したいとします。問題は、テキストを挿入するたびにファイルが何とか壊れてしまうことです。私はこのようなルックスを使用していたコード:私はこの問題を推測している.webarchiveファイルをプログラムで編集する

var stream:FileStream = new FileStream();      
stream.open(file, FileMode.READ); 
var body:ByteArray = new ByteArray();      
stream.readBytes(body, file.size);      
var result:Array = pattern.exec(body.toString());     
var new_body:String;       
new_body = body.toString().replace(pattern, "replacing text here!</body>"); 
stream.close();      
stream.open(file, FileMode.WRITE);      
stream.writeUTFBytes(new_body);      
stream.close(); 

は.webarchiveファイルのエンコーディングに関係しています。誰にどのようにこれを修正するためのアイデアがありますか?前もって感謝します!

答えて

0

ファイルからテキスト情報を読み取るときは、常にstream.readUTFBytes()またはstream.readUTF()を使用してください。私はあなたのコードで文字列にバイトを変換するときに発生するいくつかの実際のエンコーディングの問題を推測しています。正しいコードは次のとおりです。

var stream:FileStream = new FileStream();      
stream.open(file, FileMode.READ); 
var body:String = stream.readUTFBytes(stream.bytesAvailable); 
stream.close();    
var new_body:String = body.replace(pattern, "replacing text here!</body>"); 
stream.open(file, FileMode.WRITE);      
stream.writeUTFBytes(new_body);      
stream.close(); 
関連する問題