java導出csv 代碼

java導出csv 代碼  上下滾動代碼
01
package com.du.string;
02

03
import java.io.File;
04
import java.io.FileInputStream;
05
import java.io.FileOutputStream;
06
import java.io.InputStream;
07
import java.sql.Connection;
08
import java.sql.DriverManager;
09
import java.sql.ResultSet;
10
import java.sql.ResultSetMetaData;
11
import java.sql.Statement;
12
import java.util.Properties;
13

14
public class Pro {
15

16
    public void run(){
17
        try{
18

19

20
            Properties prot =new Properties();
21
            InputStream fis=new FileInputStream(new File("./config.properties"));
22
            prot.load(fis);
23
            System.out.println(prot.getProperty("tables"));
24

25
            FileOutputStream fos=new FileOutputStream(prot.getProperty("csvpath"),true);
26
            System.out.println(prot.getProperty("csvpath"));
27

28

29
            Class.forName(prot.getProperty("driver"));
30
            Connection conn=DriverManager.getConnection(prot.getProperty("jdbc"),prot.getProperty("user"),prot.getProperty("password"));
31

32
            Statement st=conn.createStatement();
33
            ResultSet rs= st.executeQuery("select * from "+prot.getProperty("tables"));
34
            ResultSetMetaData rsmd=rs.getMetaData();
35
            String columnC="";
36
            for(int i=1;i<=rsmd.getColumnCount();i++){
37
                columnC=columnC+rsmd.getColumnName(i).toString();
38
                if(i<rsmd.getColumnCount()){
39
                    columnC=columnC+",";
40
                }
41
                }
42
            fos.write(columnC.getBytes());
43
            while (rs.next()){
44
                String ls="";
45
                for(int i=1;i<=rsmd.getColumnCount();i++){
46
                    String field=rsmd.getColumnTypeName(i);
47
//                  if(field.equals("VARCHAR")){
48
//                      ls=ls+rs.getString(i);
49
//                  http://www.huiyi8.com/gundongdaima/shangxia/}
50
                    ls=ls+rs.getObject(i).toString();
51

52
                    if(i<rsmd.getColumnCount()){
53
                        ls=ls+",";
54
                    }
55
                    }
56
                fos.write("\r\n".getBytes());
57
                fos.write(ls.getBytes());
58
            }
59

60
            //fos.write("aaa".getBytes());
61
            fos.close();
62
        }
63
        catch(Exception e){
64
            e.printStackTrace();
65
        }
66
        finally{
67

68
        }
69
    }
70
    public static void main(String[] args) {
71
        Pro p=new Pro();
72
        try{
73
            p.run();
74
        }
75
        catch(Exception e){
76
            e.printStackTrace();
77
        }
78
    }
79

80
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章