package cn.com.file;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Client {
public static void main(String args[]) throws FileNotFoundException
{
String path = "E:\\PORT";
String templateFile = "1.ctl";
String fileLists = "index.txt";
String commandText = "sqlldr.exe userid=webrescmxj/res4cmxj@resdb control=e:/PORT/tmp.ctl log=e:/PORT/1.log";
// 1.获取模板SQL
BufferedReader tReader = new BufferedReader(new FileReader(path + "\\" + templateFile));
StringBuffer buffer = new StringBuffer(); //记录模板SQL
String str = null;
try {
while((str = tReader.readLine())!=null){
buffer.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}
//System.out.println(buffer.toString()); /* 测试打印使用 */
//2.拼装导入SQL
BufferedReader lsReader = new BufferedReader(new FileReader(path + "\\" + fileLists));
String tmpSQL = null; //记录模板SQL
str = null; //初始化
try {
while ((str = lsReader.readLine())!=null) {
tmpSQL = buffer.toString().replace("DEFAULT", path + "\\" + str);
System.out.println(tmpSQL);
//3. 将拼装好的SQL写入临时文件
File f = new File(path + "\\" + "tmp.ctl");
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
writer.write(tmpSQL);
writer.flush();
writer.close(); //关闭写出
Process proc = Runtime.getRuntime().exec(commandText); // 执行SQLLDR操作
//proc.waitFor();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}