如何在Scala中检查文件是否被压缩?

时间:2017-11-02 10:15:09

标签: scala

有没有办法在scala中找出输入文件是否被压缩(例如:zip,tar.gz,.7z等)?

检查扩展名不是一个选项,因为可能存在许多压缩文件类型,并且可能只是将文件从.txt重命名为.zip。我们应该能够检测到它不是一个有效的压缩文件。

此致

1 个答案:

答案 0 :(得分:5)

这似乎不是Scala特定的问题,但最好的是打开文件,读取前几个字节(即魔术字节)并将其与众所周知的比较签名。

可以找到这些签名,例如here。一个例子是

  • 1F 8B 08 for .gz
  • 42 5A 68 for .bz2
  • BC AF 27 1C for .7z
相关问题