数据库导出数据,并按特定符号分割

<span style="background-color:#ffffff">package com.exp;


import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class OutFileData {
static Connection conn =null;
static  PreparedStatement ps=null;
static ResultSet rst=null;
public static Connection getConnection(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@127.0.0.1:1521/orcl";
conn=DriverManager.getConnection(url,"yuansen","yuansen");
} catch (Exception e) {
System.out.println("数据库连接失败!");
}

return conn;
}

//查询所有的表
public static List getTableNameList() throws SQLException {
getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
// ResultSet rs = dbmd.getTables("hc", "YUANSEN", "%", new String[] { "TABLE" });
ResultSet rs=dbmd.getTables("HC", "YUANSEN", null, null);
List tableNameList = new ArrayList();
while (rs.next()) {
tableNameList.add(rs.getString("TABLE_NAME"));
}
return tableNameList;
}

//导出数据
public static void searchData(){
try {
List tblist= getTableNameList();
//创件一个新的文件
File d=new File("E:/outFile");
if(!d.exists()){
d.mkdir();
}
for(int i=0;i<tblist.size();i++){
//创建输出流
FileOutputStream fout=new FileOutputStream(new File(d,"dp04_"+tblist.get(i)+"20141225.txt"));
//查询第 i张表的数据
ps=conn.prepareStatement("select * from "+tblist.get(i));
rst=ps.executeQuery();
   ResultSetMetaData rsmd = rst.getMetaData();
   int col = rsmd.getColumnCount();
   while (rst.next()) {
       for (int j = 1; j <= col;j++) {
        PrintStream printsm=new PrintStream(fout);
        //输出每个列
        printsm.print(rst.getString(j));
        //如果没有超出列数,就输出 分隔符 "&"
        if(j<col){
        printsm.print("&");
        }
//            fw.write(rs.getString(j));  
//                if (j < col)
//                    fw.write("&");
       }
//            fw.write("\n");
   }
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("导出数据失败!");
}
}

public static void main(String[] args) {
searchData();
}
}</span>
<span style="background-color:#ffffff">//java导出数据库txt文件,并以&分隔符每个字段数据</span>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值