如何在java中检查实际文件类型

  • 本文关键字:文件 类型 java file
  • 更新时间 :
  • 英文 :


我将创建一个sample.txt文件。然后我会将sample.txt的扩展名更改为sample.tar

如何知道示例文件的真实类型?

文件仅包含字节。 你认为这些字节意味着什么完全取决于你。任何认为文件具有真实类型的观念都是一种错觉。 例如,您可以将其称为 sample.txt但它实际上是一个 TAR 文件。

有一些工具可以猜测文件格式可能是什么。 然而,这只是一个猜测。 文件没有"真正的"文件类型。

您可以使用诸如Java Mime Magic之类的库来检查文件的假定MIME类型是否与其内容匹配。

import java.net.FileNameMap;
import java.net.URLConnection;
public class FileUtils {
public static String getMimeType(String fileUrl) throws java.io.IOException {
    FileNameMap fileNameMap = URLConnection.getFileNameMap();
    String type = fileNameMap.getContentTypeFor(fileUrl);
    return type;
}
public static void main(String args[]) throws Exception {
    System.out.println(FileUtils.getMimeType("fileName.extension"));
     //for a.txt
    // output : text/plain
}
}

如果文件不是 rar 或压缩的,这工作正常。

请参阅此链接。从文件中获取 MIME 类型。

如果你只想知道一个文件是否是tar文件,你可以读取字节257、258、259、260、261。如果它们是ASCII"ustar",则它是一个tar存档。

相关内容

  • 没有找到相关文章

最新更新