package com.example.service;
import com.example.search.DocKeywordSearch;
import com.example.search.FileSearch;
import com.example.search.PdfKeywordSearch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.util.List;
import static com.example.search.FileSearch.getFileExtension;
@Service
public class FileSearchService {
private final DocKeywordSearch docKeywordSearch;
private final PdfKeywordSearch pdfKeywordSearch;
@Autowired
public FileSearchService(DocKeywordSearch docKeywordSearch, PdfKeywordSearch pdfKeywordSearch) {
this.docKeywordSearch = docKeywordSearch;
this.pdfKeywordSearch = pdfKeywordSearch;
}
public String searchAndProcessFiles(String keyword) {
StringBuilder outputContent = new StringBuilder();
FileSearch fs = new FileSearch();
List<String> filePath = fs.getFilePath();
for (String s : filePath) {
File file = new File(s);
String extension = getFileExtension(file.getName());
if (extension.equalsIgnoreCase("doc")) {
// ... 处理 doc 文件
System.out.println(s);
outputContent.append("\n");
outputContent.append(s).append("\n");
outputContent.append("---------------------------------------").append("\n");
System.out.println("------------------------------------------------------------------------");
// docKeywordSearch.doSearch(s,keyword);
List<String> strings = docKeywordSearch.doSearch(s, keyword);
for (String string : strings) {
outputContent.append(string).append("\n");
}
outputContent.append("\n");
} else if (extension.equalsIgnoreCase("pdf")) {
// ... 处理 pdf 文件
outputContent.append("\n");
outputContent.append(s).append("\n");
outputContent.append("---------------------------------------").append("\n");
System.out.println(s);
System.out.println("------------------------------------------------------------------------");
//pdfKeywordSearch.pdfSearch(s,keyword);
List<String> strings = pdfKeywordSearch.pdfSearch(s, keyword);
for (String string : strings) {
outputContent.append(string).append("\n");
}
outputContent.append("\n");
} else {
// ... 处理其他文件类型
System.out.println("Unsupported file type: " + extension);
}
System.out.println();
}
return outputContent.toString();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
short_semester-main.zip (54个子文件)
short_semester-main
semester4
HELP.md 851B
mvnw.cmd 7KB
pom.xml 3KB
src
test
java
com
example
semester2
Semester2ApplicationTests.java 225B
main
resources
application.properties 2B
static
plugins
font-awesome
css
font-awesome.css 41KB
font-awesome.min.css 30KB
fonts
FontAwesome.otf 132KB
fontawesome-webfont.eot 162KB
fontawesome-webfont.woff 96KB
fontawesome-webfont.woff2 75KB
fontawesome-webfont.svg 437KB
fontawesome-webfont.ttf 162KB
elementui
index.js 483KB
index.css 194KB
fonts
element-icons.woff 6KB
page
index.html 4KB
java
com
Semester4Application.java 972B
example
controller
FileUploadController.java 1KB
uitl
R.java 630B
components
UploadDirectoryCleaner.java 1KB
service
FileUploadService.java 1017B
FileSearchService.java 3KB
search
PdfKeywordSearch.java 2KB
DocKeywordSearch.java 2KB
FileSearch.java 2KB
Config
AppConfig.java 577B
domain
DiskInfo.java 238B
target
classes
application.properties 2B
static
plugins
font-awesome
css
font-awesome.css 41KB
font-awesome.min.css 30KB
fonts
FontAwesome.otf 132KB
fontawesome-webfont.eot 162KB
fontawesome-webfont.woff 96KB
fontawesome-webfont.woff2 75KB
fontawesome-webfont.svg 437KB
fontawesome-webfont.ttf 162KB
elementui
index.js 483KB
index.css 194KB
fonts
element-icons.woff 6KB
page
index.html 4KB
com
Semester4Application.class 1KB
example
controller
FileUploadController.class 2KB
uitl
R.class 3KB
components
UploadDirectoryCleaner.class 2KB
service
FileSearchService.class 3KB
FileUploadService.class 1KB
search
FileSearch.class 3KB
DocKeywordSearch.class 3KB
PdfKeywordSearch.class 2KB
Config
AppConfig.class 779B
domain
DiskInfo.class 2KB
mvnw 10KB
semester4.iml 15KB
共 54 条
- 1
资源评论
博士僧小星
- 粉丝: 1771
- 资源: 5875
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
- 毕业设计,基于PyQt5实现的可视化界面的Python车牌自动识别系统源码
- 20-天天果园项目.rar
- 26-朴素贝叶斯分类.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功