gpt4 book ai didi

java - 我的文件夹中有 900 个 .pdf 格式的文件。我必须将 .pdf 逐一转换为 .csv 并将这些 csv 存储在另一个文件夹中

转载 作者:行者123 更新时间:2023-12-02 09:44:58 40 4
gpt4 key购买 nike

这里我正在对一个文件进行操作并将其存储在另一个文件夹中。如何对多个文件执行此操作?

try 
{
Document document = new Document();
document.open();
FileOutputStream fos=new FileOutputStream("C:\\Users\\user\\Desktop\\pdf\\MyCSVFile.csv");
StringBuilder parsedText=new StringBuilder();
PdfReader reader1 = new PdfReader("C:\\Users\\user\\Desktop\\pdf\\NL-26.pdf");
int n = reader1.getNumberOfPages();
for (int i = 0; i <n ; i++)
{
parsedText.append(parsedText+PdfTextExtractor.getTextFromPage(reader1, i+1).trim()+"\n") ;
}
StringReader stReader = new StringReader(parsedText.toString());
int t;
while((t=stReader.read())>0)
fos.write(t);
document.close();

最佳答案

您可以使用 this 获取给定目录下的所有文件:

final File folder = new File("C:\\Users\\user\\Desktop\\pdf");
final File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {
final File file = listOfFiles[i];
if (file.isFile() && file.getAbsolutePath().endsWith(".pdf")) {
parsePdf("C:\\Users\\user\\Desktop\\pdf\\MyCSVFile"+i+".csv", file.getAbsolutePath());
}
}

如果您将业务逻辑重构为单独的方法,那么您可以在 if 中使用它。

private static void parsePdf(final String fileToWrite, final String fileToRead) throws IOException {
try (FileOutputStream fos = new FileOutputStream(fileToWrite)) {
final StringBuilder parsedText = new StringBuilder();
final PdfReader reader1 = new PdfReader(fileToRead);
int n = reader1.getNumberOfPages();
for (int i = 0; i < n; i++) {
parsedText.append(parsedText + PdfTextExtractor.getTextFromPage(reader1, i + 1).trim() + "\n");
}
final StringReader stReader = new StringReader(parsedText.toString());
int t;
while ((t = stReader.read()) > 0)
fos.write(t);
}
}

关于java - 我的文件夹中有 900 个 .pdf 格式的文件。我必须将 .pdf 逐一转换为 .csv 并将这些 csv 存储在另一个文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56736136/

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