常用unix命令的java库(特别是dd)?

常用unix命令的java库(特别是dd)?,java,unix,dd,Java,Unix,Dd,我需要使用dd命令来阻止一些文件,我更愿意这样做而不通过shell调用它 是否已经编写了类库,或者是否应该使用自己的阻止程序 基本上相当于去: dd if=foo.log of=fooblocked.log cbs=79 conv=block Runtime.getRuntime().exec()执行shell中传递的命令(Windows中的命令提示符)。shell默认为程序工作目录 try { Process p = Runtime.getRuntime().exec("ls -l

我需要使用dd命令来阻止一些文件,我更愿意这样做而不通过shell调用它

是否已经编写了类库,或者是否应该使用自己的阻止程序

基本上相当于去:

dd if=foo.log of=fooblocked.log cbs=79 conv=block
Runtime.getRuntime().exec()
执行shell中传递的命令(Windows中的命令提示符)。shell默认为程序工作目录

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()

。我不认为Runtime.getRuntime().exec()使用shell.Kk。你不能使用纯Java,因为这是一个虚拟机不知道的特定于操作系统的工具。在某个时候,您将需要与底层操作系统进行交互。您的选择是使用shell命令或通过JNI调用unix C库(糟糕!)。我的意思是只在Java中读取文件并操作字节,而不是调用dd。即重写dd conv=block。我有它的工作,但它的车,并希望一个参考。