我是Java新手,我试图从1个表中导出数据并将其存储在文本文件中。目前,下面的代码写入文本文件,但所有在一行?有人可以帮忙吗?
我的代码
private static String listHeader() {
String output = "Id Priority From Label Subject\n";
output += "== ======== ==== ===== =======\n";
return output;
}
public static String Export_Message_Emails() {
String output = listHeader();
output +="\n";
try {
ResultSet res = stmt.executeQuery("SELECT * from messages ORDER BY ID ASC");
while (res.next()) { // there is a result
output += formatListEntry(res);
output +="\n";
}
} catch (Exception e) {
System.out.println(e);
return null;
}
return output;
}
public void exportCode(String File1){
try {
if ("Messages".equals(nameOfFile)){
fw = new FileWriter(f);
//what needs to be written here
//fw.write(MessageData.listAll());
fw.write(MessageData.Export_Message_Emails());
fw.close();
}
}
答案 0 :(得分:3)
请勿使用硬编码值“\ n”。而是使用System.getProperty("line.separator");
或者如果您使用的是Java 7或更高版本,则可以使用System.lineSeparator();
答案 1 :(得分:0)
尝试String.format("%n")
而不是"\n"
。
答案 2 :(得分:0)
我会假设您正在使用Windows并且您正在使用记事本打开文件。如果这是正确的,那么它对你的输出确实不是问题,而是使用你正在查看它的编辑器。
我个人更喜欢“\ n”而不是系统行分隔符,在Windows上是“\ r \ n”。
编辑:添加了选项3
答案 3 :(得分:0)
除非您正在尝试练习Java编程(当然这很好!),您可以使用SYSCS_UTIL.SYSCS_EXPORT_TABLE系统过程从一个表导出所有数据并将其存储在文件中:{ {3}}