java 执行 shell脚本通过mysql load data导入数据
2024-08-27 21:43:56
1:load_data_test.sh
#!/bin/sh file=$ 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 >>${load_data_log} -uroot -pxxx --local-infile= << 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
执行结果:
最新文章
- Visual Studio 生成事件命令
- SqlBulkCopy批量添加数据
- IOS contentOffset该如何理解
- jdk安装配置具体分析
- LoadRunner中文乱码问题解决方案
- Hive表数据导出
- Nginx 1.4.7图片缓存服务器
- jquerymobile知识点:动态Grid的绑定以及刷新
- JS高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
- iOS开发之CALayer
- java用户界面——加载图片 jpg GIF
- vue的简单tab
- Mego(03) - ORM框架的新选择
- git简单提交操作
- ZOJ Problem Set - 3593 拓展欧几里得 数学
- shell编程—运算符(五)
- post请求中data参数的应用
- 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构
- 从源码的角度看 React JS 中批量更新 State 的策略(下)
- 跟我一起学习vue2(使用命令行搭建单页应用)[二]