java - 将结果集中的值写入文本文件(.txt 文件)

标签 java text-files multiple-resultsets

请帮助我完成以下代码,因为我想将结果集中的值写入 txt 文件

代码

while (rs.next()){
    FileWriter fstream = new FileWriter(file);
    BufferedWriter out = new BufferedWriter(fstream);

    out.write(Integer.toString(rs.getInt("SBL_PRODUCT_ID")) + ", ");
    out.write(Integer.toString(rs.getInt("SBL_TARIFF_ID")) + ", ");
    out.write(rs.getString("PRODUCT_DESCRIPTION") + ", ");
    out.write(rs.getString("SERVICE_TYPE") + ", ");
    out.write(Integer.toString(rs.getInt("MARKET_CLASS")) + ", ");
    out.write(rs.getString("ENTITY_TYPE") + ", ");
    out.newLine();
    /*out.write(System.getProperty("line.separator"));*/

    System.out.println("Completed writing into text file");
    out.close();
}

txt 文件中所需的输出

4087, 98, POSTE SIM, Deal [SoHo Flat Tariff Recurring Charge, Prepaid], /service/telco/SIM, 101, DEAL

4087, 99, POSTE SIM, Deal [SoHo Flat Tariff Recurring Charge, Prepaid], /service/telco/SIM, 101, DEAL

4087, 100, POSTE SIM, Deal [SoHo Flat Tariff Recurring Charge, Prepaid], /service/telco/SIM, 101, DEAL

4087, 101, POSTE SIM, Deal [SoHo Flat Tariff Recurring Charge, Prepaid], /service/telco/SIM, 101, DEAL

我得到的当前输出只是一行,也是结果集中的最后一个值,即下面

电流输出

4087, 101, POSTE SIM, Deal [SoHo Flat Tariff Recurring Charge, Prepaid], /service/telco/SIM, 101, DEAL

请帮我解决这个问题:(

最佳答案

每次创建文件编写器时,您都会覆盖该文件。将其更改为:

FileWriter fstream = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fstream);
while (rs.next()) {            
        out.write(Integer.toString(rs.getInt("SBL_PRODUCT_ID")) + ", ");
        out.write(Integer.toString(rs.getInt("SBL_TARIFF_ID")) + ", ");
        out.write(rs.getString("PRODUCT_DESCRIPTION") + ", ");
        out.write(rs.getString("SERVICE_TYPE") + ", ");
        out.write(Integer.toString(rs.getInt("MARKET_CLASS")) + ", ");
        out.write(rs.getString("ENTITY_TYPE") + ", ");
        out.newLine();
        /*out.write(System.getProperty("line.separator"));*/
}
System.out.println("Completed writing into text file");
out.close();

或者,您可以在 FileWriter 中设置 append 标志:

FileWriter fstream = new FileWriter(file, true);

尽管这不如仅打开一次文件那么有效。

关于java - 将结果集中的值写入文本文件(.txt 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57783018/

相关文章:

Linux -grep 命令

java - 如何返回2个ResultSet?

java - 声明变量并在 if 语句中使用它

java - 9-patch 文件中出现奇怪的黑边 - android

Java:添加 boolean 检查方法来检查 SQL 表中的数据以复制到文本文件

c++ - 列表 - 字符串 - 文本文件

sql-server - Entity Framework 查询结果重复

java - 我们可以一次带来两个数据集并进行比较吗

Java:循环增量不从 0 开始

java - 从 android.util.log 迁移