Java 如何根据常规表达式验证文件内容

Java 如何根据常规表达式验证文件内容,java,validation,Java,Validation,我想用一些正则表达式验证pdf文件的内容,为此,我使用IOUtils(commons-io-2.2jar)API将文件的内容转换为string对象。下面是我的代码 FileInputStream fis = new FileInputStream(filePath); StringWriter writer = new StringWriter(); String encoding = "UTF-8"; IOUtils.copy(fis, writer, encoding

我想用一些正则表达式验证pdf文件的内容,为此,我使用IOUtils(commons-io-2.2jar)API将文件的内容转换为string对象。下面是我的代码

FileInputStream fis = new FileInputStream(filePath);
    StringWriter writer = new StringWriter();
    String encoding = "UTF-8";
    IOUtils.copy(fis, writer, encoding);
   String sourceText=writer.toString();
在准备好我的sourceText之后,我将使用下面的正则表达式验证sourceText

    Pattern srcPattern = Pattern.compile("\\btax", 2);
    Matcher taxMatcher = srcPattern.matcher(this.sourceText);
    if (taxMatcher.find()) {
        isTaxRelevant = true;
    } else{isTaxRelevant = false;
            }
在最初的PDF文档中,我有带有字符串tax的语句,但是上面的代码总是返回false。当我打印源文本时,我将文本视为二进制数据。
我怀疑正是由于这个原因,它无法针对正则表达式进行验证。是否有机会根据正则表达式验证我的PDF文件内容。

基本上,您的操作与在记事本中打开PDF文件的操作相同。它不工作!!!你需要使用一个可以读取PDF的库。我需要一个解决方案来读取任何类型的文件(PDF、html、aspx)。我的代码应该是通用的。读取任何类型的文件在编程环境中都没有意义。程序没有眼睛,当然也不能在人的感官中“读取”,因为我的输入文件可以是任何类型的。我不能为每种类型的文件使用特定的库。所以,您基本上需要一些神奇的库,可以读取任何已经存在的文件格式。我想这个神奇的图书馆可以看一张照片或一段视频,并理解其中的内容?我不这么认为;)。除非你是人工智能领域的大师(我对此深表怀疑),否则你需要缩小范围。