我正在 AIR 中创建一个自定义文件类型,它是一个不同扩展名的 zip 文件。我一直在尝试一些库,并选择了 Fzip。这是为了存放我的应用程序项目文件。
测试似乎运行良好,除了偶尔出现“未知记录签名”错误。我想知道我是否遗漏了什么,也许有人可以提供一些启示。我第一次尝试这样的事情。
它似乎是随机发生的,我有一个基本的应用程序,它允许您在运行时添加新文件。内容显示在列表中,选择后您可以查看文本内容。有时在添加新文件、保存然后重新打开时,我会收到此未知记录错误。可能是原因的主要功能
private function openComplete( event:Event ):void {
_zipFile.loadBytes( _file.data );
dispatch( new ZipServiceEvent( ZipServiceEvent.CONTENTS_CHANGE ) );
}
public function saveFile( event:Event=null ):void {
if( _file.isDirectory ) {
browseForSave();
return void;
}
if ( _file.extension != _ext )
_file = new File( _file.nativePath + _ext );
var stream:FileStream = new FileStream();
stream.open( _file, FileMode.WRITE );
_zipFile.serialize( stream );
stream.close();
}
public function getFile( name:String ):FZipFile {
return _zipFile.getFileByName( name );
}
public function addFile( name:String, contents:ByteArray ):void {
_zipFile.addFile( name, contents );
}
private function saveFileHandler( event:Event ):void {
var contents:ByteArray = new ByteArray();
contents.writeMultiByte( view.filecontents.text, 'utf-8' );
model.addFile( view.filename.text, contents );
}