java 执行 shell脚本通过mysql load data导入数据
1:load_data_test.sh
#!/bin/shfile=$1
load_data_log=/mnt/load_data_test/load.log
load_sql="LOAD DATA LOCAL INFILE '/mnt/load_data_test/${file}'
IGNORE INTO TABLE t_test
CHARACTER SET utf8
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY ''
LINES TERMINATED BY '\r\n'"
mysql 2>>${load_data_log} -uroot -pxxx --local-infile=1 << EOF
use app_info;
$load_sql;
exit
EOF
echo "$?"
exit
备注:$?如果为1表示脚本执行出错,为0表示脚本执行成功。
2:java代码
public static void main(String[] args) {String sh = System.getProperty("shell");
try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(sh,null,null);
InputStream stderr = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr,"UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println("执行结果:"+line);
}
}catch (Exception e){
e.printStackTrace();
}
}
3:测试
# java -Dshell='/mnt/load_data_test/load_data_test.sh 00.txt' -jar t03.jar执行结果:0
以上是 java 执行 shell脚本通过mysql load data导入数据 的全部内容, 来源链接: utcz.com/z/392237.html