【问题标题】:How can check real file type in java?如何在java中检查真实文件类型?
【发布时间】:2013-01-11 02:14:18
【问题描述】:

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

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

【问题讨论】:

标签: file


【解决方案1】:

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

【讨论】:

  • 比你的分享。我如何编写java代码。请帮助我
【解决方案2】:
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 或压缩文件,这可以正常工作。

请参阅此链接。 Get the Mime Type from a File.

【讨论】:

    【解决方案3】:

    一个文件只包含字节。您认为这些字节的含义完全取决于您。任何认为文件具有真实类型的想法都是一种错觉。例如,您可以将其命名为 sample.txt,但它实际上是一个 TAR 文件。

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

    【讨论】:

    • 我不是说真正的文件类型。我想知道文件是不是tar文件
    • 你可以尝试解压它(至少在内存中)。如果成功,则它是一个有效的 tar 文件。如果不成功则不是。您可以查看文件的开头(这是大多数通用工具所做的),但这不会告诉您文件是有效的。
    • 你的意思是你想知道如何解压文件以检查它是否有效?
    • 是的,我想在解压 java 编码中的文件之前检查一下。请帮助我。
    • 你会怎么做?
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 2016-10-04
      • 1970-01-01
      • 2021-04-08
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 2016-03-30
      相关资源
      最近更新 更多