2017-07-18 8 views
0
Runtime r = Runtime.getRuntime(); 
String cmd = "C:\\Program Files (x86)\\MongoDB\\Server\\3.0\\bin\\mongoimport -d dummydb -c Employee --type csv --file /home/mongodb/one.csv --headerline"; 
r.exec(cmd); 

私はLinuxマシンで同じコマンドを実行すると、csvファイルがインポートされました。しかし、Javaスタンドアロンから私は挿入することはできません。 これを助けてください。csvファイルをmongodbにインポートできません。javaからリモートロケーションにありますか?

答えて

0

コレクション名、データベース名、ファイルパスを変更した後、以下のコードを試してください。それは動作するはずです。

注: - 以下のコードに存在するとして -

mongoimport.exeを言及する必要があります。

コード: -

import java.io.BufferedReader; 
import java.io.InputStreamReader; 

public class MongoImportUtil { 

    public static void main(String[] args) { 

     String db = "test"; 
     String col = "Account"; 
     String Host = "localhost"; 
     String Port = "27017"; 
     String fileName = "D:/files/sample.csv"; 

     String command = "C:\\Program Files\\MongoDB\\Server\\3.4\\bin\\mongoimport.exe --host " + Host + " --port " 
       + Port + " --db " + db + " --collection " + col + " --headerline --type=csv --file " + fileName; 

     try { 
      System.out.println(command); 

      Process process = Runtime.getRuntime().exec(command); 
      int waitFor = process.waitFor(); 
      System.out.println("waitFor:: " + waitFor); 
      BufferedReader success = new BufferedReader(new InputStreamReader(process.getInputStream())); 
      BufferedReader error = new BufferedReader(new InputStreamReader(process.getErrorStream())); 

      String s = ""; 
      while ((s = success.readLine()) != null) { 
       System.out.println(s); 
      } 

      while ((s = error.readLine()) != null) { 
       System.out.println("Std ERROR : " + s); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

} 
関連する問題