package java01; import java.io.FileWriter; import java.io.IOException; import java.util.List; public class DataStorage { public void writeJobsToCSV(List jobs, String fileName) { try (FileWriter writer = new FileWriter(fileName)) { // 写入表头 writer.write("职位标题,公司名称,薪资,地点,经验,学历,技能要求\n"); for (Job job : jobs) { // 写入数据行,处理逗号和引号 writer.write(escapeCsvField(job.getTitle()) + ","); writer.write(escapeCsvField(job.getCompany()) + ","); writer.write(escapeCsvField(job.getSalary()) + ","); writer.write(escapeCsvField(job.getLocation()) + ","); writer.write(escapeCsvField(job.getExperience()) + ","); writer.write(escapeCsvField(job.getEducation()) + ","); writer.write(escapeCsvField(job.getSkills()) + "\n"); } System.out.println("数据已成功写入CSV文件: " + fileName); } catch (IOException e) { e.printStackTrace(); } } private String escapeCsvField(String field) { if (field == null) { return ""; } // 如果字段包含逗号、引号或换行符,需要用引号包围 if (field.contains(",") || field.contains("\"") || field.contains("\n")) { // 转义字段中的引号 field = field.replace("\"", "\"\""); // 用引号包围字段 return "\"" + field + "\""; } return field; } }