Windows环境下测试代码:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
public class testTimer {
/***@paramargs*/
public static void main(String[] args) {
//TODO Auto-generated method stub//./szrpp_files/clPath//写控制文件.ctl
String fileRoute = "D:\\test\\";//文件地址路径
String fileName = "test2015.txt";//数据文件名
String tableName = "test_table";//表名
String fieldName = "(name,userpwd,sex)";//要写入表的字段
String ctlfileName = "test_table.ctl";//控制文件名
stlFileWriter(fileRoute,fileName,tableName,fieldName,ctlfileName);
//要执行的DOS命令
String user = "SCOTT";
String psw = "123";
String Database = "//127.0.1.1:1521/ORCL";
IP要指向数据库服务器的地址
String logfileName = "test_table.log";
Executive(user,psw,Database,fileRoute,ctlfileName,logfileName);
}
/*** * 写控制文件.ctl
*@paramfileRoute 数据文件地址路径
*@paramfileName 数据文件名
*@paramtableName 表名
*@paramfieldName 要写入表的字段
*@paramctlfileName 控制文件名*/
public static void stlFileWriter(String fileRoute,String fileName,String tableName,String fieldName,String ctlfileName)
{
FileWriter fw = null;
String strctl = "OPTIONS (skip=0)" +
" LOAD DATA INFILE '"+fileRoute+""+fileName+"'" +
" APPEND INTO TABLE "+tableName+"" +
" FIELDS TERMINATED BY ','