<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>