을 사용하여 런타임에 java에서 sql 문을 java에서 실행합니다. 루프가 실행되지 않는 동안 아래 코드가 있습니다. 누군가이 코드를 잘못 이해할 수 있습니까?Runtime.getRuntime(). exec()
import java.io.*;
public class A
{
public static void main(String args[]) {
int value = 0;
String sql = "SELECT * FROM A2A_TP_INFO";
String filename="file.txt";
String filepath="/home/mit"+"export/file.txt";
String exportQuery = "/home/mit/JavaProj/proj/export/query";
String cmd[] = {
"/bin/ksh",
"-c",
"" + exportQuery + " " +filepath+ " \""
+ sql + ";\" "
};
try {
//Process p = Runtime.getRuntime().exec(cmd);
Process p1=Runtime.getRuntime().exec(sql);
// p.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(
p1.getInputStream()));
while ((value = input.read()) != -1) {
char c = (char) value;
System.out.println(c);
}
input.close();
} catch (Exception exp) {
exp.printStackTrace();
}
}
}
1. 질문은 무엇입니까? 2. 오류가 무엇입니까? : O –
Runtime.exec()를 사용하지 말고,'ProcessBuilder'를 사용하십시오! – fge