我有一个目录,其中包含按顺序编号的日志文件和一些用于分析的 Excel 电子表格。日志文件总是从零开始按顺序编号,但它们的数量可能会有所不同。我正在尝试连接日志文件,按照它们被创建为单个文本文件的顺序,这将是所有日志文件的连接。
例如,对于日志文件 foo0.log、foo1.log、foo2.log 将通过在 foo0 之后附加 foo1 和在 foo1 之后附加 foo2 来输出到连接的 foo.log。
我需要计算给定目录中扩展名为 *.log 的所有文件,使用该计数来驱动一个 for 循环,该循环还生成用于连接的文件名。我很难找到一种使用过滤器来计算文件的方法......关于文件操作的 Java Turtorials 似乎都不适合这种情况,但我确信我错过了一些东西。这种方法有意义吗?还是有更简单的方法?
int numDocs = [number of *.log docs in directory];
//
for (int i = 0; i <= numberOfFiles; i++) {
fileNumber = Integer.toString(i);
try
{
FileInputStream inputStream = new FileInputStream("\\\\Path\\to\\file\\foo" + fileNumber + ".log");
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
try
{
BufferedWriter metadataOutputData = new BufferedWriter(new FileWriter("\\\\Path\\to\\file\\fooconcat.log").append());
metadataOutputData.close();
}
//
catch (IOException e) // catch IO exception writing final output
{
System.err.println("Exception: ");
System.out.println("Exception: "+ e.getMessage().getClass().getName());
e.printStackTrace();
}
catch (Exception e) // catch IO exception reading input file
{
System.err.println("Exception: ");
System.out.println("Exception: "+ e.getMessage().getClass().getName());
e.printStackTrace();
}
}