读取多个文件处理文本并在JAVA中生成报告

问题描述 投票:0回答:1

我目前正在开发一个框架,其中我们执行一些java执行,现在我们必须手动编写java代码并执行它。为了让我们的生活更简单,我们正在尝试生成一个框架,其中用户将用简单的英语在文本文件中编写他必须执行的内容,例如 - Sum | 2+3。现在我们已经在java类文件中定义了这些关键字的定义,如Sum,Divide,Product等。我们现在从1个文件夹中读取所有这些文本文件,然后由我们的代码执行其余的执行。

我们已经实现了上面提到的事情,但是现在执行后我们想要生成如下的报告 - 假设文件夹中有5个文本文件(文件编号将是动态的) -

  • 001
  • 002
  • 003
  • 004
  • 005

在这些中,无论代码是作为004的一部分执行的,都抛出了一些错误但是休息一切正常。

我们想要一份excel报告,将报告显示为 -

  • 001 - 通过
  • 002 - 通过
  • 003 - 通过
  • 004 - 失败 - Stacktrace
  • 005 - 通过

这怎么可能在JAVA?我们使用缓冲文件阅读器来读取文件内容,然后用“|”分割字符串char然后相应地匹配/处理关键字

java arrays report
1个回答
0
投票

既然你没有添加任何代码我不能更具体,但你可以这样做:

try(BufferedWriter bw = new BufferedWriter(new FileWriter("report.txt"))){
    for(File currentFile : filesToProcess){
        try{
            processor.processFile(currentFile);
            bw.write(currentFile.getName() + " - Passed\n" );
        }catch(Exception e){
            bw.write(currentFile.getName() + " - Failed " + e.getMessage() + "\n");
        }
    }
}catch(IOException e){
        e.printStackTrace();
}

本质上,将用于处理文件内容的代码包装到方法中,并根据成功执行该方法或者是否产生运行时错误,将行添加到日志文件中。

© www.soinside.com 2019 - 2024. All rights reserved.