You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.1 KiB

package command;
import model.Article;
import controller.CrawlerController;
import util.FileUtil;
import java.util.List;
public class SaveCommand implements Command {
private CrawlerController controller;
public SaveCommand(CrawlerController controller) {
this.controller = controller;
}
@Override
public void execute() {
try {
List<Article> articles = controller.getArticles();
if (articles.isEmpty()) {
controller.getView().showMessage("没有数据可保存");
return;
}
for (Article article : articles) {
FileUtil.saveArticle(article);
}
FileUtil.saveArticles(articles, "summary.txt");
controller.getView().showMessage("已保存 " + articles.size() + " 条数据到 data/ 目录");
} catch (Exception e) {
controller.getView().showError("保存失败: " + e.getMessage());
}
}
@Override
public String getDescription() {
return "保存数据到文件";
}
}