以编程方式编辑.webchive文件



我正在使用Actionscript构建一个AIR应用程序,我想以编程方式插入一段文本到。webchive文件中。问题是每次插入文本时,文件都会被损坏。我使用的代码看起来像这样:

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();

我猜这个问题与。webchive文件的编码有关。有人对如何解决这个问题有任何想法吗?提前感谢!

从文件中读取文本信息时,应该始终使用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();

相关内容

  • 没有找到相关文章