关于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这个方法是干什么的,为什么要这个方法,有和没有有什么区别

解决方案 »

  1.   


    楼主的代码应该是存在某些问题.. 至少第一行我没有见到过这么写的....第一行应该是个注释吧?copyStream()方法的作用应该是将 输入流 复制到 输出流中  里面的比特数组作为缓冲区用
      

  2.   

    ... 汗..是Oracle存储过程中的java.... oh  ... 
      

  3.   

    想问一下,copyStream这个方法是干什么的,为什么要这个方法,有和没有有什么区别代码里反映出来的是:它把你调用的命令的输入,在此程序的输出打印出来,除了打给你看,没有什么实质作用,方便你调试吧。