我如何从数据库中获取数据并将其存储到文本文件中?
how do i get the data from a database and store it into a text file?
我是 Java 中的数据库新手,我正在尝试从 1 table 导出数据并将其存储在文本文件中。目前下面的代码写入文本文件但是全部在一行上?有人可以帮忙吗?
我的代码
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();
}
}
不要使用硬编码值“\n”。而是使用 System.getProperty("line.separator");
或者如果您使用 Java 7 或更大,您可以使用 System.lineSeparator();
尝试 String.format("%n")
而不是 "\n"
。
我假设您正在使用 Windows 并且您正在使用记事本打开文件。如果这是正确的,那么这并不是您的输出真正的问题,而是您正在查看它的编辑器的问题。
- 尝试使用更好的编辑器,即。记事本++
- 按照其他答案的建议进行操作并使用 System.getProperty("line.separator");或类似的。
- 使用 Writer 实现,例如 PrintWriter。
我个人更喜欢“\n”而不是系统行分隔符,后者在 Windows 上是“\r\n”。
编辑:添加选项 3
除非您正在尝试练习 Java 编程(这当然很好!),否则您可以从一个 table 中导出所有数据并将其存储在一个文件中,方法是使用SYSCS_UTIL.SYSCS_EXPORT_TABLE 系统过程:http://db.apache.org/derby/docs/10.11/ref/rrefexportproc.html
我是 Java 中的数据库新手,我正在尝试从 1 table 导出数据并将其存储在文本文件中。目前下面的代码写入文本文件但是全部在一行上?有人可以帮忙吗?
我的代码
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();
}
}
不要使用硬编码值“\n”。而是使用 System.getProperty("line.separator");
或者如果您使用 Java 7 或更大,您可以使用 System.lineSeparator();
尝试 String.format("%n")
而不是 "\n"
。
我假设您正在使用 Windows 并且您正在使用记事本打开文件。如果这是正确的,那么这并不是您的输出真正的问题,而是您正在查看它的编辑器的问题。
- 尝试使用更好的编辑器,即。记事本++
- 按照其他答案的建议进行操作并使用 System.getProperty("line.separator");或类似的。
- 使用 Writer 实现,例如 PrintWriter。
我个人更喜欢“\n”而不是系统行分隔符,后者在 Windows 上是“\r\n”。
编辑:添加选项 3
除非您正在尝试练习 Java 编程(这当然很好!),否则您可以从一个 table 中导出所有数据并将其存储在一个文件中,方法是使用SYSCS_UTIL.SYSCS_EXPORT_TABLE 系统过程:http://db.apache.org/derby/docs/10.11/ref/rrefexportproc.html