diff --git a/project/ExportCommand.java b/project/ExportCommand.java deleted file mode 100644 index 32e4311..0000000 --- a/project/ExportCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.example.moviecli.command; - -import com.example.moviecli.model.Movie; -import com.example.moviecli.repository.MovieRepository; -import com.example.moviecli.view.ConsoleView; -import com.example.moviecli.exception.SaveFailedException; -import com.opencsv.CSVWriter; -import java.io.FileWriter; -import java.util.List; - -public class ExportCommand implements Command { - private final ConsoleView view; - - public ExportCommand(ConsoleView view) { - this.view = view; - } - - @Override - public String getName() { - return "export"; - } - - @Override - public void execute(String[] args, MovieRepository repository) { - List movies = repository.getAll(); - if (movies.isEmpty()) { - view.printError("没有数据可导出。"); - return; - } - try (CSVWriter writer = new CSVWriter(new FileWriter("movies.csv"))) { - String[] header = {"Rank", "Title", "OriginalTitle", "Score", "Year", "Director"}; - writer.writeNext(header); - for (Movie m : movies) { - String[] line = { - String.valueOf(m.getRank()), - m.getTitle(), - m.getOriginalTitle(), - m.getScore(), - m.getYear(), - m.getDirector() - }; - writer.writeNext(line); - } - view.printSuccess("导出成功:movies.csv"); - } catch (Exception e) { - // 使用自定义异常包装原始异常 - SaveFailedException ex = new SaveFailedException("导出CSV文件失败", e); - view.printError(ex.getMessage()); - ex.printStackTrace(); // 打印堆栈,体现使用了自定义异常 - } - } -} \ No newline at end of file