这个问题在这里已有答案:
我正在尝试将文件夹中的文件Informix4gl报告文件转换为PDF文件。
我正在使用带有iText的java来转换文件。我此刻只成功转换了一个文件。这是我从文件夹中获取文件的方式。
//File directory
public static final String TEXT
= "O:\\CONVERT\\FOLDER ORI\\BL2054.801";
//Where file will be stored after conversion
public static final String DEST
= "O:\\CONVERT\\FOLDER PDF\\BL2054.801.pdf";
问题是,我必须在代码中定义输入文件名和输出文件名。我想要做的是添加循环,以便程序自动从文件夹中获取文件并转换为PDF。然后重复下一个文件。
getPathFilesFromFolder().stream().forEach({
file -> convertToPdf(file, generateDestinationPathFile(file))
//convertToPdf is a method from your lib
})
generateDestinationPathFile(File file) {
// rename file
}
List<Path> getPathFilesFromFolder() throws IOException {
return Files.list(Paths.get("D:\\Example"))
.collect(Collectors.toList());
}
我们将循环文件夹中的所有文件,然后将它放到需要两个参数(源文件,目标文件)的方法中。