使用java语言来实现对文件夹递归提取word文件,重名文件名自动改名字,写出代码
时间: 2024-05-01 12:18:30 浏览: 65
好的,这是一个技术问题,我可以回答。以下是Java代码示例:
```
import java.io.File;
import java.io.IOException;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
public class WordExtractor {
public static void main(String[] args) throws IOException {
File folder = new File("path/to/folder");
extractWords(folder);
}
public static void extractWords(File file) throws IOException {
if (file.isDirectory()) {
for (File subFile : file.listFiles()) {
extractWords(subFile);
}
} else if (file.getName().endsWith(".docx")) {
XWPFDocument document = new XWPFDocument(file.getAbsolutePath());
XWPFWordExtractor extractor = new XWPFWordExtractor(document);
String content = extractor.getText();
document.close();
extractor.close();
// Rename file if necessary
File newFile = new File(file.getParentFile(), getUniqueFileName(file.getName()));
file.renameTo(newFile);
}
}
public static String getUniqueFileName(String fileName) {
if (!fileName.contains("(")) {
return fileName;
}
String name = fileName.substring(0, fileName.indexOf("("));
String numberStr = fileName.substring(fileName.indexOf("(") + 1, fileName.indexOf(")"));
int number = Integer.parseInt(numberStr);
return getUniqueFileName(name + "(" + (number + 1) + ").docx");
}
}
```
以上代码使用了Apache POI来提取Word文档中的文本内容,根据文件扩展名判断是否为Word文件,如果有重名文件则自动修改文件名。
阅读全文
相关推荐


















