本文整理匯總了Java中com.zaxxer.nuprocess.NuAbstractProcessHandler類的典型用法代碼示例。如果您正苦於以下問題:Java NuAbstractProcessHandler類的具體用法?Java NuAbstractProcessHandler怎麽用?Java NuAbstractProcessHandler使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
NuAbstractProcessHandler類屬於com.zaxxer.nuprocess包,在下文中一共展示了NuAbstractProcessHandler類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: cat
import com.zaxxer.nuprocess.NuAbstractProcessHandler; //導入依賴的package包/類
@Benchmark
public void cat() throws Exception {
NuProcessBuilder builder = new NuProcessBuilder("cat", TEST_FILE);
builder.setProcessListener(new NuAbstractProcessHandler() {
private final CRC32 crc32 = new CRC32();
@Override
public void onExit(int statusCode) {
long crc = crc32.getValue();
if (crc != TEST_CRC32) {
System.err.println("Incorrect CRC32 checksum (" + crc + "); file corruption?");
}
}
@Override
public void onStdout(ByteBuffer buffer, boolean closed) {
// the contents of the file are run through CRC32 just to "do" something with them
// note that update(ByteBuffer) requires Java 8. it's been selected because it doesn't
// inflate the measured allocation rate by allocating buffers internally
crc32.update(buffer);
}
});
NuProcess process = builder.start();
int exitCode = process.waitFor(5L, TimeUnit.MINUTES);
if (exitCode == Integer.MIN_VALUE) {
process.destroy(false);
throw new AssertionError(process + " took longer than 5 minutes to complete");
}
if (exitCode != 0) {
throw new AssertionError(process + " failed (Exit code: " + exitCode + ")");
}
}