java - 使用 Java 将结果集转换为 CSV 文件

标签 java csv resultset

您好,我正在尝试将 oracle jdbc 结果集转换为 csv 文件。下面是使用的代码。当字段中存在如下所示的值时,就会出现问题。它使输出 csv 变形,所有这些都出现在单独的行中,而不是在一个字段中。

字段中的值以 csv 形式呈现

[<333message:Runtime error in script' ProcessItem: ' Type: 'ITEM'" 1:0).Internal Script error: java.lang.NullPointerException
Script (line 1):
setHours = 0 ;
if(ts.instanceId == null)
" 3 : ts.instanceId = 0 ;"
Step >]

int ncols = result.getMetaData().getColumnCount();  

            System.out.println("ColumnCout"+ncols);  
            FileOutputStream fos=new FileOutputStream(new File("C:\\test.csv"),false);  
            Writer out = new OutputStreamWriter(new BufferedOutputStream(fos),"UTF_8");      

            for (int j=1; j<(ncols+1); j++) {     
            out.append(result.getMetaData().getColumnName (j));       
            if (j<ncols) out.append(","); else out.append("\r\n");      
            }   
            int m =1;    

            while (result.next()) {   

            for (int k=1; k<(ncols+1); k++) {   

            out.append(result.getString(k));    

            if (k<ncols) out.append(","); else out.append("\r\n");    
            }   
            //System.out.println("No of rows"+m);   
            m++;   
            }  

最佳答案

您是否使用“java.sql.ResultSet”类? 如果是,请参阅此链接 http://opencsv.sourceforge.net/ 中的库

查看示例:

CSVWriter csvWriter = new CSVWriter(new FileWriter("yourfile.csv"), '\t');
java.sql.ResultSet myResultSet = .... ;
csvWriter.writeAll(myResultSet, includeHeaders);

关于java - 使用 Java 将结果集转换为 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128802/

相关文章:

java - QueueClient 中长时间不活动且频繁出现 MessageLockLostException

java - spring web framework中有没有具体的验证机制

java - 在 Adapter Android 的 getView 中搜索对象列表的有效方法

sqlite - 如何在 SQLite 中正确导入不带引号的 CSV?

php - 通过 PHP Curl 上传 CSV 文件

mysql - 第 1 行不包含所有列的数据

java - CachedRowSet:它还能用来保存ResultSet数据吗?

java - 从 RestulSet 表编辑 JTable

php - 将 MySQL 结果数组转换为 JSON

java - 为什么 Maven 选择版本 1.0.b2 而不是 1.3.03