Ⅰ java代码怎样将oracle数据库中数据下载本地,为.txt文件或者.excel文件。
第一个类:
package totabel.action;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import topdf.TableToPdf;
import totabel.view.TabelData;
import totabel.xls.ExcelDemo;
public class TableAction implements ActionListener {
TabelData data;
public TableAction(TabelData data) {
this.data = data;
}
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if ("添加".equals(str)) {
data.addData();
} else if ("导出到Excel".equals(str)) {
ExcelDemo demo = new ExcelDemo();
demo.method(data);
} else if ("删除".equals(str)) {
if (data.getRow() != -1) {
data.delRow();
} else {
JOptionPane.showMessageDialog(null, "请选择要删除的行!");
}
}else if("从Excel导入".equals(str)){
data.getXlsInfo();
}else if("从Excel导入到数据库".equals(str)){
data.toDb();
}else if("从table导出到pdf".equals(str)){
TableToPdf pdf=new TableToPdf();
pdf.newPage(data);
}else if("计算学分".equals(str)){
data.getXlsInfoToCredit();
}
}
}
第二个类:数据库连接
package totabel.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcConnection {
private static JdbcConnection con;
public static JdbcConnection getCon() {
if (con == null) {
con = new JdbcConnection();
}
return con;
}
public Connection getConnection() {
Connection connection=null;
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:oracle";
String user = "scott";
String password = "tiger";
connection = DriverManager.getConnection(url, user,
password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
// public static void main(String[] args) {
// JdbcConnection connection=new JdbcConnection();
// connection.getConnection("asd", "99");
// }
}
第三个类:主类(入口)
package totabel.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcConnection {
private static JdbcConnection con;
public static JdbcConnection getCon() {
if (con == null) {
con = new JdbcConnection();
}
return con;
}
public Connection getConnection() {
Connection connection=null;
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:oracle";
String user = "scott";
String password = "tiger";
connection = DriverManager.getConnection(url, user,
password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
// public static void main(String[] args) {
// JdbcConnection connection=new JdbcConnection();
// connection.getConnection("asd", "99");
// }
}
第四个类:
package totabel.xls;
import java.io.File;
import java.io.IOException;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;
import totabel.view.TabelData;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelDemo {
/**
*
* @param args
*/
private Vector title = new Vector();
private Vector[] array;
// public static void main(String[] args) {
// ExcelDemo demo = new ExcelDemo();
// demo.getXlsInfo();
//
// }
public void method(TabelData table) {
int row = table.getRowSize();
int column = table.getColumnSize();
WritableWorkbook book = null;
Vector title = table.setTitle();
Object[] str = title.toArray();
try {
book = Workbook.createWorkbook(new File("test.xls"));
WritableSheet sheet = book.createSheet("成绩表", 0);
for (int i = 0; i < str.length; i++) {
sheet.addCell(new Label(i, 0, (String) str[i]));
}
for (int i = 1; i < row + 1; i++) {
for (int j = 1; j < column + 1; j++) {
sheet.addCell(new Label(j - 1, i, table.getTableInfo(i - 1,
j - 1)));
}
}
book.write();
JOptionPane.showMessageDialog(null, "导出完成!");
} catch (IOException e) {
e.printStackTrace();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
} finally {
try {
book.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 输出Excel的数据到表单
*
* @return
*/
public Vector getXlsInfo() {
Vector v = new Vector();
jxl.Workbook rwb = null;
int index = 0;
try {
rwb = jxl.Workbook.getWorkbook(new File("test.xls"));
Sheet[] sheet = rwb.getSheets();
for (int i = 0; i < sheet.length; i++) {
int rs = sheet[i].getRows();
array = new Vector[rs - 1];
for (int j = 1; j < rs; j++) {
Cell[] cell = sheet[i].getRow(j);
Vector info = new Vector();
for (int k = 0; k < cell.length; k++) {
info.add(cell[k].getContents());
}
array[index] = info;
index++;
v.add(info);
}
Cell[] titleCell = sheet[i].getRow(0);
for (int j = 0; j < titleCell.length; j++) {
title.add(titleCell[j].getContents());
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
rwb.close();
}
return v;
}
public Vector getXlsInfoToCredit() {
Vector v = new Vector();
jxl.Workbook rwb = null;
try {
rwb = jxl.Workbook.getWorkbook(new File("d:/test/信科0821(南迁).xls"));
Sheet[] sheet = rwb.getSheets();
for (int i = 0; i < sheet.length; i++) {
int rs = sheet[i].getRows();
array = new Vector[rs - 1];
for (int j = 1; j < rs; j++) {
Cell[] cell = sheet[i].getRow(j);
Vector info = new Vector();
for (int k = 0; k < cell.length; k++) {
// if(){
Pattern p = Pattern.compile("[0-9]{1,}");
Matcher m = p.matcher(cell[k].getContents());
if (m.matches()) {
int score = Integer.valueOf(cell[k].getContents());
float result = getScore(score);
info.add(result);
} else {
info.add(cell[k].getContents());
}
}
v.add(info);
}
Cell[] titleCell = sheet[i].getRow(0);
for (int j = 0; j < titleCell.length; j++) {
title.add(titleCell[j].getContents());
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
rwb.close();
}
return v;
}
public float getScore(int n) {
float score = n;
if (n < 60) {
score = 0;
return score;
} else {
if (n >= 60 && n <= 63) {
score = (float) 1.0;
} else if (n >= 64 && n <= 67) {
score = (float) 1.3;
} else if (n >= 68 && n <= 71) {
score = (float) 1.7;
} else if (n >= 72 && n <= 75) {
score = (float) 2.0;
} else if (n >= 76 && n <= 79) {
score = (float) 2.3;
} else if (n >= 80 && n <= 83) {
score = (float) 2.7;
} else if (n >= 84 && n <= 87) {
score = (float) 3.0;
} else if (n >= 88 && n <= 91) {
score = (float) 3.3;
} else if (n >= 92 && n <= 95) {
score = (float) 3.7;
} else if (n >= 96 && n <= 100) {
score = (float) 4.0;
}
return score;
}
}
public Vector getTitle() {
// getXlsInfo();
return title;
}
public Vector[] getArray() {
getXlsInfo();
return array;
}
}
因为时间问题就没有再写了,上面是我以前做的,不懂就q我
Ⅱ 怎么用JAVA把Mysql数据库中的表的数据输出至文本文档中
首先导入 mysql-connector-java-5.1.45-bin.jar 包
代码如下:
importjava.io.*;
importjava.sql.*;
publicclassApp{
publicstaticvoidmain(String[]args){
try{
Class.forName("com.mysql.jdbc.Driver");
//数据库用户
Stringuser="root";
//数据库密码
Stringpassword="";
Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_sale",user,password);
Statementstmt=conn.createStatement();
//查询,从数据库db_sale的proct表中查询id,name,qty字段
ResultSetrs=stmt.executeQuery("SELECTid,name,qtyFROMproct");
//创建输出文件result.txt
Filefile=newFile("d://result.txt");
OutputStreamWriterwriter=newOutputStreamWriter(newFileOutputStream(file));
while(rs.next()){
writer.write(String.valueOf(rs.getLong(1))+" ");
writer.write(rs.getString(2)+" ");
writer.write(String.valueOf(rs.getInt(3)));
writer.write(" ");
//System.out.println(rs.getLong(1));
//System.out.println(rs.getString(2));
//System.out.println(rs.getLong(3));
}
writer.flush();
writer.close();
rs.close();
stmt.close();
conn.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
Ⅲ 用java代码把txt文档中资料导入到数据库
BufferedReader input;
try {
String s = new String();
input = new BufferedReader(new FileReader("f:\\123.txt"));
while ((s = input.readLine()) != null) { // 判断是否读到了最后一行
String info[] = s.split(" ");
System.out.println( info[0] + " " + info[1] + " " + info[2] );
}
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
把info[0] + " " + info[1] + " " + info[2] 这三个值放在insert语句里就行了 经过测试
Ⅳ java如何从数据库读取数据并写入txt文件
写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!
[java]viewplain
packagee.thu.keyword.test;
importjava.io.File;
importjava.io.InputStreamReader;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileWriter;
publicclasscin_txt{
staticvoidmain(Stringargs[]){
try{//防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw
/*读入TXT文件*/
Stringpathname="D:\twitter\13_9_6\dataset\en\input.txt";//绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
Filefilename=newFile(pathname);//要读取以上路径的input。txt文件
InputStreamReaderreader=newInputStreamReader(
newFileInputStream(filename));//建立一个输入流对象reader
BufferedReaderbr=newBufferedReader(reader);//建立一个对象,它把文件内容转成计算机能读懂的语言
Stringline="";
line=br.readLine();
while(line!=null){
line=br.readLine();//一次读入一行数据
}
/*写入Txt文件*/
Filewritename=newFile(".\result\en\output.txt");//相对路径,如果没有则要建立一个新的output。txt文件
writename.createNewFile();//创建新文件
BufferedWriterout=newBufferedWriter(newFileWriter(writename));
out.write("我会写入文件啦 ");// 即为换行
out.flush();//把缓存区内容压入文件
out.close();//最后记得关闭文件
}catch(Exceptione){
e.printStackTrace();
}
}
}
Ⅳ JAVA查询数据库结果怎么用缓冲区输出到txt中
结合PrintStream 可以的,如下例子
OutputStream outputStream = new FileOutputStream(”“);
PrintStream ps=new PrintStream(outputStream);
ps.printf("%1$s\t %2$15s\t %3$15s\r\n", "ID", "中文", "英文");
Ⅵ java 从数据库取出数据并保存到本地文本中
先看数据库表, 我里面有46条记录,其中有三条重复,我就拿其中一条emp_id 为"
DWR65030M" 做例子
里面有两条记录 ,实现了
Ⅶ java 通过流将从数据库中查出来的数据生成一个txt文件,如何实现数据 列像表格一样对齐
用java 1.5以上PrintWriter或者PrintStream新加的printf方法吧,可以像c语言的printf格式化每个栏位的长度的
比如:
public static void main(String[] args) {
for (int i = 0; i < 20; i += 3) {
System.out.printf("i=%5d\n", i);
}
}
要是写文件的话,就用PrintWriter套到Writer上,或者PrintStream套到OutputStream上,比如:
public static void main(String[] args) {
try{
FileOutputStream fos=new FileOutputStream("text.txt");
PrintStream ps=new PrintStream(fos);
for (int i = 0; i < 20; i += 3) {
ps.printf("i=%5d\n", i);
}
}catch(IOException e){
e.printStackTrace();
}
}
Ⅷ Java怎么导出数据库数据以,为分隔符到TXT文件
什么意思不大清楚。如果是要把数据库的数据保存到txt文件中,可以先读取数据库的信息,然后用文件的方式将数据按照指定的格式写入到txt文件。
Ⅸ 如何通过java将查询出的数据通过数据库直接导出到txt文件
//查询数据获取resultSet
while(rs.next()){
//直接写到文件
}
Ⅹ 如何用java实现mysql数据库的导入导出
MySql导出数据库的命令如下:
Sql代码
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
利用Java调用命令窗口执行命令来进行MySql导入数据库一般分三步走:
第一步:登录Mysql数据库,在登录数据库的时候也可以指定登录到哪个数据库,如果指定了则可以跳过第二步;
第二步:切换数据库到需要导入的目标数据库
第三步:利用命令开始导入
在进行导出的时候,需要注意命令语句的运行环境,如果已经将mysql安装路径下的bin加入到
系统的path变量中,那么在导出的时候可以直接使用命令语句,否则,就需要在执行命令语句的
时候加上命令所在位置的路径,即mysql安装路径想的bin下的mysqlmp命令。