package com.example.datacollect.command; import com.example.datacollect.repository.ArticleRepository; import com.example.datacollect.persist.JsonImporter; import com.example.datacollect.view.ConsoleView; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; public class ImportCommand implements Command { private static final Logger logger = LoggerFactory.getLogger(ImportCommand.class); private final ConsoleView view; private final JsonImporter jsonImporter; public ImportCommand(ConsoleView view) { this.view = view; this.jsonImporter = new JsonImporter(); } @Override public String getName() { return "import"; } @Override public void execute(String[] args, ArticleRepository repository) { // 参数校验:import if (args.length < 2) { String errorMsg = "用法: import <文件路径> (示例: import articles.json)"; logger.error(errorMsg); view.printError(errorMsg); return; } String filePath = args[1]; try { jsonImporter.importArticles(repository, filePath); view.printSuccess("✅ 成功从文件导入文章: " + filePath); } catch (IOException e) { view.printError("❌ 导入失败: " + e.getMessage()); } } }