实例说明:
1、主要演示对JPG图片的二进制方法合并与拆分,你也可以根据实例做相应修改,可以试验一下其它后缀文件的合并与拆分
2、试验前最好做好相关文件备份,以免造成重要文件损失
3、你可以根据本实例代码原理,了解相关二进制操作文件方法
以下是合并及拆分公用代码:
'----------------------------------------------------------------------------------
'程序功能:实现文件的合并
'变量说明:strFileName1 As String 第一个文件及完整路径
' strFileName2 As String 第二个文件及完整路径
' strMergeFileName As String 合并后的文件完整路径
'例 程:sMergeFile (C:\File1.txt ,C:\File2.txt ,C:\PutFile.txt)
'-------------------------------------------------------------------------
Public Sub sMergeFile(strFileName1 As String, strFileName2 As String, strMergeFileName As String)
Dim aryContent() As Byte '用来读取文件的数组,每次读取前要重定义
'注意下面三个Open语句都是用Binary模式打开的,也就是进行二进制的读写
Open strMergeFileName For Binary As #3
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
Put #3, , LOF(1) '取得第一文件的长度,并把它写入到合并文件的文件头中
Put #3, , LOF(2) '取得第二文件的长度,并写入到合并文件的文件头中
ReDim aryContent(LOF(1) - 1) '重定义数组,为读取文件做准备
Get #1, , aryContent() '取得第一文件的内容到数组
Put #3, , aryContent() '把第一文件的内容写到合并文件中
ReDim aryContent(LOF(2) - 1) '同上
Get #2, , aryContent()
Put #3, , aryContent()
'关闭文件
Close #1
Close #2
Close #3
MsgBox "所选图片文件合并完成!", vbOKOnly + vbInformation, "江羽提示:"
End Sub
'------------------------------------------------------------------------------------
'程序功能:实现文件的拆分
'变量说明:strFileName1 As String 拆分后第一个文件名
' strFileName2 As String 拆分后第二个文件名
' strSplitFileName As String 预拆分的文件名及完整路径
'例 程:sSplitFile(C:\PutFile.txt ,C:\File1.txt ,C:\File2.txt)
'------------------------------------------------------------------------------------
Public Sub sSplitFile(strSplitFileName As String, strFileName1 As String, strFileName2 As String)
Dim aryContent() As Byte
Dim lngLOF(1) As Long '存放从文件头取得的两个文件的长度
Open strSplitFileName For Binary As #3
Get #3, , lngLOF(0) '取得第一文件的长度
Get #3, , lngLOF(1) '第二文件的长度
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
ReDim aryContent(lngLOF(0) - 1) '用第一文件的长度重定义数组,为读取第一文件做准备
Get #3, 9, aryContent() '从第9字节,即文件后面开始读取第一文件的内容
Put #1, , aryContent() '把取得的内容写入到拆分文件中
ReDim aryContent(lngLOF(1) - 1)
Get #3, 9 + lngLOF(0), aryContent() '从第9字节再加上第一文件的长度处开始读取第二文件的内容
Put #2, , aryContent
Close #1
Close #2
Close #3
MsgBox "所选图片文件拆分完成!", vbOKOnly + vbInformation, "江羽提示:"
End Sub
实例样本下载:点击下载此附件