2012-04-03 15 views
3

Linuxコードをjavaコードから実行しようとしていますが、動作しません。java実行中のLinuxコマンド

Runtime.getRuntime().exec("cat /home/roman/logs/*"); 

そして、それは私の質問は、Javaからいくつかのディレクトリにどのように猫にすべてのファイルである単一のファイルの猫

Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log"); 

のためによく働い?

+0

[JavaからLinuxシェルコマンドを実行したい]の説明を参照してください(http://stackoverflow.com/questions/1410741/want-to-invoke-a-linux-shell-command- from-java) –

答えて

4

File[] files = dir.listFiles(); 
for (File f : files) { 
    Runtime.getRuntime().exec("cat "+dir.getAbsolutePath()+File.separator+f.getName()); 
} 
3

exec()コマンドでは*を使用することはできません(シェルが必要です)。解決策は、スクリプトを作成してから、Javaアプリケーションからそのスクリプトexec()を作成することです。あなたがコレクションにdirの下にあるすべてのファイルを入れて、それを反復処理することができ

関連する問題