package Deal; import Base.Question; import java.io.*; import java.text.SimpleDateFormat; import java.util.*; public class Deal_file { private static final String BASE_DIR="试卷/"; public Deal_file() { File baseDir = new File(BASE_DIR); if (!baseDir.exists()) { if (!baseDir.mkdirs()) System.out.println("目录创建失败!"); } } public void savePaper(ArrayList paper, String username) { String userDirPath = BASE_DIR + username + "/"; File userDir = new File(userDirPath); if (!userDir.exists()) { if (!userDir.mkdirs()) { System.out.println("目录创建失败!"); return; } } String timestamp = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()); String filePath = userDirPath + timestamp + ".txt"; try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) { for (int i = 0; i < paper.size(); i++) { writer.println(paper.get(i).toString()); if (i < paper.size() - 1) { writer.println(); } } System.out.println("试卷已保存至: " + new File(filePath).getAbsolutePath()); } catch (IOException e) { System.out.println("保存文件出错: " + e.getMessage()); } } public Set Check_Existing(String username) { Set questions = new HashSet<>(); String userDirPath = BASE_DIR + username + "/"; File userDir = new File(userDirPath); if (!userDir.exists() || !userDir.isDirectory()) { return questions; } File[] files = userDir.listFiles(); if (files == null) { return questions; } for (File file : files) { if (file.isFile() && file.getName().endsWith(".txt")) { try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { if (!line.trim().isEmpty()) { questions.add(line.trim()); } } } catch (IOException e) { return questions; } } } return questions; } }