2016-06-08 3 views
0

Я написал .bat файл (как я тестирую на Windows, на данный момент): - Вызов MongoImport От Java

echo Program Starts mongoimport.exe --host 127.0.0.1 -d myDB -c things --type csv --file
D:\MOCK_DATA.csv --fields id,Name.f_name,Name.l_name,email,gender echo Program Ends

  • Я держал .bat файл в/бен папке MongoDB.

  • . Байт-файл отлично работает, если я вызываю его непосредственно из командной строки Windows.

  • Но когда я вызываю файл .bat с помощью Java-программы, mongoImport не выполняет . Программа также не дает никаких ошибок. Вот моя программа Java: -
    ProcessBuilder pb = new ProcessBuilder("Path to my .bat File"); Process process = pb.start(); BufferedReader is = new BufferedReader( new InputStreamReader(process.getInputStream())); StringBuilder builder = new StringBuilder(); String line = null; while ((line = is.readLine()) != null) { builder.append(line); builder.append(System.getProperty("line.separator")); } return builder.toString();

Ниже выхода Java Console: echo Program Starts Program Starts mongoimport.exe --host 127.0.0.1 -d myDB -c things --type csv --file D:\MOCK_DATA.csv --fields id,Name.f_name,Name.l_name,email,gender echo Program Ends Program Ends

ответ

0
I found the solution to the problem. Following lines helped in identifying the error:- 
pb.redirectErrorStream(true); 
pb.redirectOutput(new File("D:\\output.txt")); 

The issue was that I didn't set the 'directory' where .bat file commands will run. 
pb.directory(new File("\\MongoDB\\Server\\3.2\\bin"));