关于oracle存储过程调用java执行系统命令的疑问代码如下create or replace and compile java source named runcmd as
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class RunCmd
{
private static void copyStream(InputStream inputStream, OutputStream outStream) throws IOException {
byte[] bytes = new byte[1024];
int size;
while (inputStream.read(bytes) != -1) {
outStream.write(bytes);
}
}
public static void exec(String cmd){
try {
Process pc = Runtime.getRuntime().exec(cmd);
copyStream(pc.getInputStream(), System.out);
} catch (IOException e) {
e.printStackTrace();
}
}
} 想问一下,copyStream这个方法是干什么的,为什么要这个方法,有和没有有什么区别
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class RunCmd
{
private static void copyStream(InputStream inputStream, OutputStream outStream) throws IOException {
byte[] bytes = new byte[1024];
int size;
while (inputStream.read(bytes) != -1) {
outStream.write(bytes);
}
}
public static void exec(String cmd){
try {
Process pc = Runtime.getRuntime().exec(cmd);
copyStream(pc.getInputStream(), System.out);
} catch (IOException e) {
e.printStackTrace();
}
}
} 想问一下,copyStream这个方法是干什么的,为什么要这个方法,有和没有有什么区别
楼主的代码应该是存在某些问题.. 至少第一行我没有见到过这么写的....第一行应该是个注释吧?copyStream()方法的作用应该是将 输入流 复制到 输出流中 里面的比特数组作为缓冲区用