java中如何写入成绩
写入成绩的方法
在Java中,写入成绩可以通过多种方式实现,具体取决于存储介质(如文件、数据库等)和需求。以下是几种常见的方法:
写入到文本文件
使用FileWriter或BufferedWriter将成绩写入文本文件:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteGradesToFile {
public static void main(String[] args) {
String fileName = "grades.txt";
String[] grades = {"90", "85", "78", "92"};
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
for (String grade : grades) {
writer.write(grade);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入到CSV文件
使用CSVWriter(如OpenCSV库)将成绩写入CSV文件:

import com.opencsv.CSVWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteGradesToCSV {
public static void main(String[] args) {
String fileName = "grades.csv";
String[] grades = {"90", "85", "78", "92"};
try (CSVWriter writer = new CSVWriter(new FileWriter(fileName))) {
for (String grade : grades) {
writer.writeNext(new String[]{grade});
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入到数据库
使用JDBC将成绩写入数据库(如MySQL):
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class WriteGradesToDatabase {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/school";
String user = "root";
String password = "password";
String[] grades = {"90", "85", "78", "92"};
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "INSERT INTO grades (score) VALUES (?)";
PreparedStatement statement = conn.prepareStatement(sql);
for (String grade : grades) {
statement.setInt(1, Integer.parseInt(grade));
statement.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
写入到Excel文件
使用Apache POI库将成绩写入Excel文件:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteGradesToExcel {
public static void main(String[] args) {
String fileName = "grades.xlsx";
String[] grades = {"90", "85", "78", "92"};
try (Workbook workbook = new XSSFWorkbook()) {
Sheet sheet = workbook.createSheet("Grades");
int rowNum = 0;
for (String grade : grades) {
Row row = sheet.createRow(rowNum++);
Cell cell = row.createCell(0);
cell.setCellValue(Integer.parseInt(grade));
}
try (FileOutputStream outputStream = new FileOutputStream(fileName)) {
workbook.write(outputStream);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意事项
- 文件路径和数据库连接信息应根据实际情况调整。
- 写入操作可能抛出异常,需妥善处理。
- 对于大规模数据写入,考虑使用批量操作以提高性能。






