java - 如何打开和读取 FIFO

标签 java android

请大家建议我一些在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/

相关文章:

Android - 在 api 8 中使用 view.setX() 和 setY

android - getFrameAtTime() 返回同一帧

Java - 是否有任何多平台 3D API?

java - MyBatis 中的映射组合

android - 如何从android中的另一个应用程序启动一个应用程序?

安卓USB主机通讯

用于登录的 android 密码或电话号码

java - Jboss EAP 6模块热部署

java - 创建一个单独的方法来从 Assets 文件夹中的子文件夹中读取文本文件

没有main方法的Java程序