Java 拆分两个文件
我使用这个Linux命令在android中合并了两个文件 cat file1.png file2.zip>file3.png 如何再次拆分两个文件?我只想单独检索zip文件 有什么特别的命令吗?我试过这些代码: 解压缩文件3.png 将png替换为zip: 解压缩文件3.zip 但它们都不起作用。 我唯一可以打开组合的应用程序是windows上的winrar 我还在android上尝试了几个解压和解压的应用程序,但除了rarlab的RAR应用程序外,它们都不起作用Java 拆分两个文件,java,android,linux,unzip,unrar,Java,Android,Linux,Unzip,Unrar,我使用这个Linux命令在android中合并了两个文件 cat file1.png file2.zip>file3.png 如何再次拆分两个文件?我只想单独检索zip文件 有什么特别的命令吗?我试过这些代码: 解压缩文件3.png 将png替换为zip: 解压缩文件3.zip 但它们都不起作用。 我唯一可以打开组合的应用程序是windows上的winrar 我还在android上尝试了几个解压和解压的应用程序,但除了rarlab的RAR应用程序外,它们都不起作用 我提到的那些应用程序是否有任何
我提到的那些应用程序是否有任何源代码来解压缩文件?您需要知道的是,PNG文件以十六进制值
0x89
开头,然后是文本PNG
。Zip文件以PK 0x04 0x03
开头。您可以编写一个实用程序,当检测到某个文件签名时,使用新的输出文件读取文件并将读入的字节输出到新文件
对于一种解决方案,您可以使用vim
,但必须小心阻止vim
在行尾添加换行符
为安全起见,请复制输入文件
cp file3.png f1
cp file3.png f2
vim -b f1
和vim类型
:set noeol
搜索zip文件的开头
/PK
检查找到的序列是否为PK^C^D
。如果没有,寻找下一场比赛
使用删除PK
中的行尾
d$
向下移动一行,删除文件的其余部分并保存
j
:.,$ d
ZZ
类似地,删除f2中文件的顶部以获得zip文件
注意:不要将f2命名为f2.zip,因为vim足够聪明,可以将其作为zip文件打开,这不是您想要的。您需要知道的是,PNG文件以十六进制值
0x89
开头,后跟文本PNG
。Zip文件以PK 0x04 0x03
开头。您可以编写一个实用程序,当检测到某个文件签名时,使用新的输出文件读取文件并将读入的字节输出到新文件
对于一种解决方案,您可以使用vim
,但必须小心阻止vim
在行尾添加换行符
为安全起见,请复制输入文件
cp file3.png f1
cp file3.png f2
vim -b f1
和vim类型
:set noeol
搜索zip文件的开头
/PK
检查找到的序列是否为PK^C^D
。如果没有,寻找下一场比赛
使用删除PK
中的行尾
d$
向下移动一行,删除文件的其余部分并保存
j
:.,$ d
ZZ
类似地,删除f2中文件的顶部以获得zip文件
注意:不要将f2命名为f2.zip,因为vim足够聪明,可以将其作为zip文件打开,这不是您在这里想要的。严格来说:没有办法 在上面的答案中,您可能会将PK 0x04 0x03作为分隔符,但无法保证该字符序列也不会显示在file1.png的图像数据中
总之,这是一个有趣的问题。如果您想定期拆分这样的文件,请重新考虑您的策略。如果你需要它来纠正一个一次性的错误或什么的,你可以分开找到分离器,并在99%以上的情况下都可以 严格地说:没有办法 在上面的答案中,您可能会将PK 0x04 0x03作为分隔符,但无法保证该字符序列也不会显示在file1.png的图像数据中
总之,这是一个有趣的问题。如果您想定期拆分这样的文件,请重新考虑您的策略。如果你需要它来纠正一个一次性的错误或什么的,你可以分开找到分离器,并在99%以上的情况下都可以 我不确定您试图通过将zip文件“隐藏”到PNG中来实现什么,但如果您试图使Winrar可以打开单个文件,那么这是一种奇怪的方法 当
cat
将文件添加到zip文件的开头或结尾时,您不会创建.zip
(或任何其他类型的存档)文件。它只是将两个二进制文件附加在一起
winrar可以打开您的“组合”二进制文件的原因是它很可能识别文件头,并且可以破译您有2个文件
我建议您研究一下zip命令的用法,了解如何将文件添加到存档中。例如,我喜欢快速搜索显示
zip -rv zipfile.zip newfile.txt
将向zipfile.zip添加newfile.txt 我不确定您试图通过将zip文件“隐藏”到PNG中来实现什么,但如果您试图使Winrar可以打开单个文件,那么这是一种奇怪的方法 当
cat
将文件添加到zip文件的开头或结尾时,您不会创建.zip
(或任何其他类型的存档)文件。它只是将两个二进制文件附加在一起
winrar可以打开您的“组合”二进制文件的原因是它很可能识别文件头,并且可以破译您有2个文件
我建议您研究一下zip命令的用法,了解如何将文件添加到存档中。例如,我喜欢快速搜索显示
zip -rv zipfile.zip newfile.txt
将向zipfile.zip添加newfile.txt
cat
不会压缩文件,而是将它们附加在一起。Windows上的Winrar可能可以工作,因为它可以识别文件boundaries@cricket_007我知道,我的文件2是一个zip文件,winrar可以打开它。我希望解压命令也能打开它。cat
不会压缩文件,而是将它们附加在一起。Windows上的Winrar可能可以工作,因为它可以识别文件boundaries@cricket_007我知道,我的文件2是一个zip文件,winrar可以打开它。我希望解压命令也可以打开它。用winrar打开怎么样?winrar如何打开zip文件?用winrar打开怎么样?winrar如何打开zip文件?