我使用writer.println在新行上显示每条记录。当我使用system.out.println时,所有所需的记录都从数据库中取出,并正确地显示在控制台上。但是,当我试图写入文件时,只显示一条记录。请帮帮忙。
我的密码:
Scanner input = new Scanner(System.in);
System.out.print("Kindly enter the lowest CPA threshold : ");
cpa1 = input.nextFloat();
System.out.println();
System.out.println("Kindly enter highest CPA threshold : ");
cpa2 = input.nextFloat();
String query = "SELECT * FROM student WHERE CPA BETWEEN ? and ? order by CPA asc";
stt = conn.prepareStatement(query);
stt.setFloat(1, cpa1);
stt.setFloat(2, cpa2);
rs = stt.executeQuery();
PrintWriter writer = new PrintWriter("StudentRange.txt");
writer.println("Student ID \t Student Name \t Gender\t CPA\t Enrolment Date");
System.out.println("Student ID \t Student Name \t Gender\t CPA\t Enrolment Date");
while(rs.next()){
String id = rs.getString("student_id");
String name = rs.getString("student_name");
String gender = rs.getString("gender");
float cpa = rs.getFloat("CPA");
Date enrol = rs.getDate("enrollment_date");
try{
writer.println();
writer.println(id + "\t\t" + name + "\t" + gender + "\t" + cpa + "\t" + enrol);
System.out.println(id + "\t\t" + name + "\t" + gender + "\t" + cpa + "\t" + enrol);
writer.close();
}catch(Exception e){
e.printStackTrace();
}发布于 2015-05-02 19:10:42
不要在第一行之后关闭作者:)
writer.close();应该是在while循环结束之后。
类似于:
while(rs.next()){
//... code goes here
}
writer.close();https://stackoverflow.com/questions/30006358
复制相似问题