请大家建议我一些在java中处理下面的好方法。
我需要打开一个FIFO,检查打开是否有错误,然后
从 Fifo 读取并写入文件。
如果有人能帮助我,我会非常高兴。
最佳答案
要使用java读取fifo,请将其视为常规文件,我使用下面的代码来验证
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.ByteArrayOutputStream;
class catfile {
public static void main(String[] args) throws java.io.FileNotFoundException, java.io.IOException {
byte[] b = getBytesFromInputStream(new FileInputStream(args[0]));
System.out.print(new String(b));
}
public static byte[] getBytesFromInputStream(InputStream is) throws java.io.IOException {
ByteArrayOutputStream res = new ByteArrayOutputStream();
byte[] bytes = new byte[0x10000]; /* 0x10000 = 65536 */
int numRead = 0;
while ((numRead = is.read(bytes, 0, bytes.length)) >= 0) {
res.write(bytes, 0, numRead);
}
return res.toByteArray();
}
}
测试进行如下
$ rm -f aaa; mkfifo aaa; (sleep 5; date >> aaa) &
$ javac catfile.java && java -ea -cp . catfile aaa
Thu Dec 5 08:18:51 UTC 2013
关于java - 如何打开和读取 FIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392235/