大家好:
我要做的是用java调用数据的导出命令导出数据,并要将导出的dmp文件打包成zip文件,并在将dmp文件删除
全部在程序中执行:
我现在的做法是Process process = Runtime.getRuntime().exec(“exp qbj_fasp0721/[email protected] file= c:\interface_data.dmp tables = (tablename)”);
File f = new File("C:\interface_data.dmp");
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new ZipOutputStream(new FileOutputStream("C:\interface_data.zip"));
......
问题是我单独的执行导出,和打包都可以,就是放在一起就不行了,因为导出还没完成的时候就跟着执行了打包语句
请问下怎么能判断一下是否导出完成,再执行打包操作,
还有如果大家有其他的导出并打包再将dmp文件删除操作的好的方法给推荐下,先谢谢了!!
我要做的是用java调用数据的导出命令导出数据,并要将导出的dmp文件打包成zip文件,并在将dmp文件删除
全部在程序中执行:
我现在的做法是Process process = Runtime.getRuntime().exec(“exp qbj_fasp0721/[email protected] file= c:\interface_data.dmp tables = (tablename)”);
File f = new File("C:\interface_data.dmp");
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new ZipOutputStream(new FileOutputStream("C:\interface_data.zip"));
......
问题是我单独的执行导出,和打包都可以,就是放在一起就不行了,因为导出还没完成的时候就跟着执行了打包语句
请问下怎么能判断一下是否导出完成,再执行打包操作,
还有如果大家有其他的导出并打包再将dmp文件删除操作的好的方法给推荐下,先谢谢了!!
1.final Process compile = Runtime.getRuntime().exec("g++ " + classpath + "Main.cpp" + " -o " + classpath + "Main.exe");
2.final Process pro = Runtime.getRuntime().exec(classpath + "Main.exe");调用g++编译器。先编译,后运行。还没编译完就运行了。。
后来查了API,weitFor()就行了。顺便带一句啊,waitFor()接受的是被调用程序的返回值。程序没有返回值话就返回0.可以写个函数试一下。int main(){return 1;}试试,这时waitFor()返回1.