2011-07-05 5 views
1

いくつかのファイルをブロックするためにddコマンドを使用する必要があります。シェルを使用せずにddコマンドを使用します。一般的なunixコマンド(特にdd)のJavaライブラリですか?

既に書かれているクラスライブラリはありますか?または自分のブロッカーアンブロッカーをロールする必要がありますか?

行くと基本的に同等

dd if=foo.log of=fooblocked.log cbs=79 conv=block 
+0

ところで。私はRuntime.getRuntime()。exec()はシェルを使用しているとは思わない。 – okadahiroshi

+0

Kkが記載されています。しかし純粋なJavaを使用することになります。 –

+0

純粋なJavaは使用できません。これは、仮想マシンが認識できないOS固有の機能であるためです。ある時点で、基礎となるOSと対話する必要があります。あなたの選択は、シェルコマンドを使うか、JNI経由でunix Cライブラリを呼び出すことです(yuck!)。 –

答えて

1

Runtime.getRuntime().exec()は、作業ディレクトリのプログラムにシェル(Windowsのコマンド・プロンプト)シェルのデフォルトに渡されたコマンドを実行します。あなたは、コマンドが完了するまで待機するようにプログラムが必要な場合は

try { 
    Process p = Runtime.getRuntime().exec("ls -l"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); 
    String str = br.readLine(); 
    while(str!=null) { 
     System.out.println(str); 
     str=br.readLine(); 
    } 
} 

、あなたはp.waitFor()を使用することができます。

関連する問題