Browse Source

删除 'project/ExportCommand.java'

main
LiuZihan 4 weeks ago
parent
commit
b7f9880b0b
  1. 52
      project/ExportCommand.java

52
project/ExportCommand.java

@ -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<Movie> 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(); // 打印堆栈,体现使用了自定义异常
}
}
}
Loading…
Cancel
Save