gpt4 book ai didi

java- 如何在 MySQL 中获取文件路径并从目录中获取后续文件?

转载 作者:行者123 更新时间:2023-11-29 02:40:33 26 4
gpt4 key购买 nike

我在 Java 中有一个方法需要扫描 MySQL 中的一个表来查找文件路径。

这是一个示例表文件队列:

 UniqueID   FilePath                 Status     
1 C:\Folder1\abc.pdf Active
2 C:\Folder1\def.pdf Active
3 C:\Folder1\efg.pdf Error

我想扫描表格并查找 Status= Active 的文件。然后我将获取文件路径并从该位置找到实际文件并开始对这些文件进行一些处理(提取文本)。

我是 Java 的新手,到目前为止我是这样做的,如下所示:

public void doScan_DB() throws Exception{

Properties props=new Properties();


InputStream in = getClass().getResourceAsStream("/db.properties");

props.load(in);
in.close();



String driver = props.getProperty("jdbc.driver");
if(driver!=null){
Class.forName(driver);

}

String url=props.getProperty("jdbc.url");
String username=props.getProperty("jdbc.username");
String password=props.getProperty("jdbc.password");

Connection con = DriverManager.getConnection(url,username,password);
Statement statement = con.createStatement();
ResultSet rs=statement.executeQuery("select * from filequeue where Status='Active'");

while(rs.next()){

// grab those files and call index()

}

}




}

从这里开始,我如何继续捕获文件,然后调用索引函数对文件进行一些文本提取?

另外,如果我的做法有误,请告诉我。

编辑:包括我提取 PDF 文本的其他功能:

 public void doScan() throws Exception{


File folder = new File("D:\\PDF1");
File[] listOfFiles = folder.listFiles();

for (File file : listOfFiles) {
if (file.isFile()) {
// HashSet<String> uniqueWords = new HashSet<>();
ArrayList<String> list
= new ArrayList<String>();
String path = "D:\\PDF1\\" + file.getName();
try (PDDocument document = PDDocument.load(new File(path))) {

if (!document.isEncrypted()) {

PDFTextStripper tStripper = new PDFTextStripper();
String pdfFileInText = tStripper.getText(document);
String lines[] = pdfFileInText.split("\\r?\\n");
for (String line : lines) {
String[] words = line.split(" ");
// words.replaceAll("([\\W]+$)|(^[\\W]+)", ""));


for (String word : words) {
// check if one or more special characters at end of string then remove OR
// check special characters in beginning of the string then remove
// uniqueWords.add(word.replaceAll("([\\W]+$)|(^[\\W]+)", ""));
list.add(word.replaceAll("([\\W]+$)|(^[\\W]+)", ""));
// uniqueWords.add(word.replaceAll("([\\W]+$)|(^[\\W]+)", ""));
}

}


}
} catch (IOException e) {
System.err.println("Exception while trying to read pdf document - " + e);
}

String[] words1 =list.toArray(new String[list.size()]);
// String[] words2 =uniqueWords.toArray(new String[uniqueWords.size()]);

// MysqlAccessIndex connection = new MysqlAccessIndex();



index(words1,path);




System.out.println("Completed");

}
}

最佳答案

可以通过以下方式获取路径和文件

    while(rs.next()){

String path= rs.getString(2);
// Create a PdfDocument instance
PdfDocument doc = new PdfDocument();
try {
// Load an existing document
doc.load(path);
// Get page count and display it on console output
System.out.println(
"Number of pages in sample_doc1.pdf is " +
doc.getPageCount());
// Close document
doc.close();
} catch (IOException | PdfException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

您将需要额外的 JARS,它会为您提供预定义的 PDF 方法。

访问此链接了解更多信息

https://www.gnostice.com/nl_article.asp?id=101&t=How_to_Read_and_Write_PDF_Files_in_Java

关于java- 如何在 MySQL 中获取文件路径并从目录中获取后续文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53442675/

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