写个批处理,来导出Oracle的数据,名字为:c:\t.bat,内容如下:
exp hr/hr file=c:\hr.dmp
然后使用Runtime.getRuntime().exec()函数来执行这个批处理,进程竟然挂起,始终不出结果。dmp文件会生成,但大小为0。
这是个很奇怪的问题,经过不停的尝试,终于找到了解决的办法。代码如下:
Process process=Runtime.getRuntime().exec(“c:\\t.bat”);
try {
String line = null;
BufferedReader br =
new BufferedReader(new InputStreamReader(process.getErrorStream()));
//读取ErrorStream很关键,这个解决了挂起的问题。
while ((line = br.readLine()) != null){
System.out.println(line);
}
br = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = br.readLine()) != null){
System.out.println(line);
}
process.waitFor();
}
catch (Exception ioe) {
;
}
使用Runtime执行操作系统命令的时候,如果命令中有空格,会遇到麻烦。JAVA有点弱智,不能像WINDOWS批处理一样,用引号来解决。我使用命令数组版本的exec函数,它也不能正常认识,哎。既然命令数组,是用来把命令、参数分开的,那它为什么还会受命令中的空格干扰??
这时的处理办法是:使用cmd /C start "命令字符串",此时有命令字符串中就要以有空格了。如果是批处理命令,不要忘记在末尾加一个exit,不然Runtime会挂起。
分享到:
相关推荐
Java 中两种方式调用其他.exe 可执行程序 Java 是一种广泛应用于企业级应用开发的编程语言,可以调用其他.exe 可执行程序,实现一些特殊的功能。在 Java 中有两种方式可以调用其他.exe 可执行程序,即使用 `Desktop...
该命令使用 exp 工具来导出 Oracle 数据库中的数据。我们可以根据需要添加不同的参数,例如用户名、密码、数据库名、表名、导出地址、数据过滤条件等。 知识点 3:执行 DOS 命令并处理错误 在 Java 中,可以使用 ...
Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。...使用 exp 和 imp 命令可以实现数据的导出和导入,而 Java 语言可以使用 Runtime.getRuntime().exec() 方法来执行这些命令。
该过程使用了 Java 语言的 Runtime.getRuntime().exec() 方法来执行 Oracle 的 exp 命令,实现了数据的导出。 知识点 1:Java 中的 Runtime.getRuntime().exec() 方法 在 Java 中,Runtime.getRuntime().exec() ...
gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe
gtk2-runtime-2.24.33-2021-01-30-ts-win64.exe
"JavaSetup8u271.exe"则是Java开发工具包(Java Development Kit,JDK)的安装程序,除了包含JRE之外,还提供了一系列用于开发和调试Java应用的工具,如javac编译器、javadoc文档生成器、jdb调试器等。 在安装Java ...
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,由Oracle公司提供。1.6.0.7 版本是针对32位操作系统的一个特定发行版,这意味着它设计用于在32位Windows系统上执行Java应用程序。在这个版本中,Java...
在Java中,我们可以使用`Runtime.getRuntime().exec()`方法来执行这个exe文件,从而间接调用VB中的功能。 `SurferUtil.java`是Java源代码文件,这是Java调用VB开发的Surfer功能的关键部分。在Java中,通常采用`...
Java Runtime Environment-6.0.200.2.exe JRE为JavaRunTimeEnvirment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE...
总结来说,这个场景涉及到了Linux下的shell脚本编写,主要是使用`exp`命令导出Oracle数据库中的数据,并通过Java程序来调用这个脚本。这在日常的运维工作中非常常见,通过这种方式可以实现自动化数据备份,提高工作...
2. **arshalAs和In/Out属性**:在使用System.Runtime.InteropServices.WindowsRuntime时,开发者需要理解如何使用MarshalAs特性来转换数据类型,以便于.NET和WinRT之间的数据传递。此外,In和Out属性用于指定参数是...
Java调用LAME.exe将WAV进行MP3压缩是一个常见的音频处理任务,LAME是一个优秀的、免费的MP3编码库,通常以命令行工具的形式存在,如提供的`lame.exe`。在Java中,我们可以利用Java的Runtime或者ProcessBuilder类来...
Java KeyStore文件转换为...Java Runtime的目录,指包含Java.exe和keytool.exe的目录,如: c:\progra~1\Java\jre1.5.0_06\bin 例如: JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin
onnx的java包,pom引入后可以试验java调用onnx文件进行cpu模型推理。 具体见https://github.com/microsoft/onnxruntime/blob/master/java/src/test/java/sample/ScoreMNIST.java 和 ...
windowsdesktop-runtime-6.0.25-win-x64
3. **错误处理**:在执行系统命令时,通过`Runtime.getRuntime().exec(cmds)`创建子进程,然后通过`getErrorStream()`获取错误流,读取错误信息,如果发现特定错误,则调用`process.destroy()`终止进程。 4. **创建...
关于文件列表,"Java Runtime Environment-6.0.450.exe"是Windows操作系统的可执行安装文件,用户可以通过运行这个文件来安装JRE 6.0.450。安装过程中会复制必要的文件到系统目录,并设置环境变量,确保系统能够正确...
GoRuntime_DotNetFramework_3.x.exe.fgpg