|
各参数意义如下:
filePath 所创建或修改文件的完整路径。
byteList 包含有从0到255的线性列表。对ASCII文本文件而言,将从32到126.ASCII字符值可参考http://www.asciitable.com/.对于其它的二进制值,情况会更复杂一些。现在我们仅需关注文本。
fileStartByte 标示从如处开始写数据.(对不存在的文件,函数fileObj.setPosition()会忽略.)
listStartByte 在byteList中如果不是所有的数据都需保存的话, 确定其起始位置 。这极其有用,例如,你仅需对图像数据的某一处进行修改.
delteteOriginalFile 允许替换原有文件.
例子example mp3_editor.dir演示了如何使用writeBinaryFile,包括其它的一些处理程序,在写mp3文件前,格式化mp3头文件。这提供了一个如何读和写文件片断的极好例子.记住:所有读出或写进的信息依然是以ASCII方本保存在二进制文件末尾,这一点要我们去关心数据类型。
数据类型
文件中的数据以不同的形式存在:布尔型、整型、浮点型、、文本型等.相对于只能支持整型和浮点型数字数据的Lingo而言,其它大多数语言能支持更多形式的整型和浮点型,下面将要涉及。为了能处理文件中的数据,我们需要知道这些数据的类型,以利于将其转换成Lingo中相应的数据类型。 观察mp3-editor.dir的代码,注意到getBytevalue 和appendByteDate句柄,用作数据转换。getByteValue句柄将读出的字节型数据转换成Lingo能处理的数值。反过来,appendByteData在保存回原来的文件时将数值转换成字节。目前,只能ASCII、8位、16位、32位无符号型数据能被getByteValue和appendByteData所支持,原因简单:我仅需这些数据类型。当然通过修改代码,能支持其它类型的数据。 上一页 [1] [2] |