使用java创建csv文件太慢或占用太多时间

时间:2014-12-01 07:17:57

标签: java csv jboss

首先,我从另一个系统的数据库中选择数据,然后存储在resultset中,然后我想用这个结果集数据制作一个csv文件。

约121mb的数据(300k记录)用3小时制作带有各自数据的csv文件。 我的代码是: -

//connection for fetching the required data
conn=ConnInfoBrkr.newConnection(dbDriver, dbUrl, dbUser, dbPassword);
stmt=conn.createStatement();
rs=stmt.executeQuery(sqlSelect); 
colCount=rs.getMetaData().getColumnCount();
fileWriter = new FileWriter(dumpFileDirectory);
bwOutFile = new BufferedWriter(fileWriter);
while(rs.next()){
    for(int j=1; j<=colCount; ++j) {
        bwOutFile.append(fieldEncloser); 
        bwOutFile.append(rs.getString(j)); //data column
        bwOutFile.append(fieldEncloser);
        if(j<colCount){
            bwOutFile.append(fieldSeparator);  //comma
        }
    }
    // seperated the new row by newline
    bwOutFile.append(lineSeparator);
    bwOutFile.flush();
}
bwOutFile.close();
rs.close();
stmt.close();
conn.close();
fileWriter.close();

此处字段分隔符为逗号(,),fieldEnclosure为doubleQuotes(“),lineseperator为换行符(\ n)

我还改变了jboss中的内存标志值 - &gt;的run.bat

上一组JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m

现在设置JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx3072m

这是run.bat文件配置的错吗?如果您有相同的要求,建议一些有效的方法。

0 个答案:

没有答案