Java Hibernate-使用文件写入将数据导出到csv文件
我正在尝试将数据从hibernate(使用HQL中的select语句)导出到文本文件。我使用简单的文件写入机制将输出写入文本文件。在将数据写入文本文件时,会插入垃圾值,但在SYSO中这些值会正确显示。 这可能是一个很小的错误,但我在这个问题上坚持了很长时间 任何帮助都将不胜感激 我也附上代码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[]
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