2013-12-05 4 views
2

Ребята, пожалуйста, предложите мне хороший способ обработки ниже в java.Как открыть и прочитать FIFO

мне нужно открыть FIFO, проверьте, есть ли какая-либо ошибка в открытии, затем

чтения из FIFO и запись в файл.

Я действительно рад, если кто-нибудь сможет мне помочь в этом.

+1

FIFO, как в очереди (LinkedList реализует Queue в java)? –

+0

Да. Кто-то будет писать в него, и мне нужно открыть и прочитать его. – SajidKhan

+0

Итак, они написали FIFO в текстовый файл, и нам нужно его прочитать? Какие объекты хранятся в очереди? Являются ли сериализация объектов? Являются ли объекты разделены пробелами, символами новой строки или запятыми? –

ответ

1

Чтобы прочитать ФИФО с Явы, относиться к нему как обычный файл, я использовал код ниже, чтобы проверить

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 
Смежные вопросы