コード例 #1
0
 static String runHive(String... args) throws Exception {
   ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
   ByteArrayOutputStream errBytes = new ByteArrayOutputStream();
   PrintStream outSaved = System.out;
   PrintStream errSaved = System.err;
   System.setOut(new PrintStream(outBytes, true));
   System.setErr(new PrintStream(errBytes, true));
   try {
     CliDriver.run(args);
   } finally {
     System.setOut(outSaved);
     System.setErr(errSaved);
   }
   ByteArrayInputStream outBytesIn = new ByteArrayInputStream(outBytes.toByteArray());
   ByteArrayInputStream errBytesIn = new ByteArrayInputStream(errBytes.toByteArray());
   BufferedReader is = new BufferedReader(new InputStreamReader(outBytesIn));
   BufferedReader es = new BufferedReader(new InputStreamReader(errBytesIn));
   StringBuilder output = new StringBuilder();
   String line;
   while ((line = is.readLine()) != null) {
     if (output.length() > 0) {
       output.append("\n");
     }
     output.append(line);
   }
   if (output.length() == 0) {
     output = new StringBuilder();
     while ((line = es.readLine()) != null) {
       output.append("\n");
       output.append(line);
     }
   }
   return output.toString();
 }