Java Hibernate-使用文件写入将数据导出到csv文件

Java Hibernate-使用文件写入将数据导出到csv文件,java,hibernate,file,csv,Java,Hibernate,File,Csv,我正在尝试将数据从hibernate(使用HQL中的select语句)导出到文本文件。我使用简单的文件写入机制将输出写入文本文件。在将数据写入文本文件时,会插入垃圾值,但在SYSO中这些值会正确显示。 这可能是一个很小的错误,但我在这个问题上坚持了很长时间 任何帮助都将不胜感激 我也附上代码 public class Logic { @SuppressWarnings({ "rawtypes", "deprecation" }) public static void main(String[]

我正在尝试将数据从hibernate(使用HQL中的select语句)导出到文本文件。我使用简单的文件写入机制将输出写入文本文件。在将数据写入文本文件时,会插入垃圾值,但在SYSO中这些值会正确显示。 这可能是一个很小的错误,但我在这个问题上坚持了很长时间

任何帮助都将不胜感激

我也附上代码

public class Logic {
@SuppressWarnings({ "rawtypes", "deprecation" })
public static void main(String[] args) throws IOException {

    Configuration cfg = new Configuration();
    cfg.configure("hibernate.cfg.xml");

    SessionFactory factory = cfg.buildSessionFactory();
    Session session = factory.openSession();

   File file = new File("D:/Users/output.txt"); 

    FileWriter fw = new FileWriter(file);
    BufferedWriter bw = new BufferedWriter(fw);


    Query qry = session.createQuery("SELECT A from Employee_details A");
    List l =(List) qry.list();
    System.out.println("Total Number Of Records : "+((java.util.List) l).size());
    Iterator it = ((java.util.List) l).iterator();

    while(it.hasNext())
    {
        Object o = (Object)it.next();
        Employee_details e = (Employee_details)o;
        System.out.println("Employee ID : "+e.getId());
        System.out.println("Employee Name : "+e.getName());
        System.out.println("Employee Salary : "+ e.getSalary());
        System.out.println("----------------------");
        bw.write(e.getId()); // Here instead of Id some junk value is getting inserted
     } 
    bw.flush();
    bw.close();

    }
}

你不想试试ApacheIOUTILS吗?你能告诉我为什么File Writer不工作而printwriter工作吗。另外,垃圾值是如何插入的?是否在末尾附加了“垃圾”字符?否输入的值本身就是垃圾。例如,如果e.getId()的值为101,则插入到文件中的数据为“g”。
// Other Hibernate code here
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("D:/Users/output.txt"))); 
System.out.println("Total Number Of Records : "+((java.util.List) l).size());
Iterator it = ((java.util.List) l).iterator();    
while(it.hasNext())
   {
        writer.println(e.getId());
   } 

writer.close(); // put this in finally block