gpt4 book ai didi

java - 根据文件内的字符查找文件类型

转载 作者:行者123 更新时间:2023-12-01 11:24:41 25 4
gpt4 key购买 nike

我想找出 .properties 文件的文件类型,该文件基本上是一个文本文件。使用 Apache tika 和其他 mime 类型检测器将 .properties 文件打印为“text/plain”文件,因为用于文本文件和 .properties 的魔数(Magic Number)是相同的。

我想知道如何根据 .properties 文件中的特殊字符或符号来区分这一点,即 =符号或ascii值= chr(61) 00111101键/值对之间以及 .extension 类型的验证。

因此,如果我说验证文件:如果文件包含 =符号和 .extension 类型是 .properties,然后返回作为 .properties 文件。我不确定这是一个好方法,而且如果我可以实现它,我将如何添加其他 mime 类型检测器,以便我也可以检测所有其他格式而不是具有不同的自定义类。

注意:我尝试向 apche tika 添加自定义类型,但根本不起作用。如果您可以建议,可能是其他一些库(例如:MimeUtils)

最佳答案

首先,您必须知道正在检查的文件的类型(是否是文本或二进制等),因为您必须知道如何读取它。因此,第一步是检测它是文本/纯文件类型。其次,要确定它是否是属性文件,仅检查“=”是不够的。因为你可能有这个:

key1=val1=val3
key2=val4
key3

从上面的三行中,只有第二行是有效的属性文件行。因此您需要检查文件的每一行是否遵循模式(它仅限于字符和数字,但您明白了):

^[a-zA-Z0-9_]+=[a-zA-Z0-9_]+!

我认为验证属性文件的一种简单方法是将文件内容加载到 Properties 对象中(请参阅 java.util.Properties,有一个从资源加载它的方法)。

关于java - 根据文件内的字符查找文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com