Java:向设备开放流以进行输入和输出

Java:向设备开放流以进行输入和输出,java,stream,Java,Stream,我需要在linux环境下与来自java的小型标签打印机(通过ESC/p形式)交互。打印机可作为字符设备在/dev/usb/lp0上使用 发送数据非常有效: FileOutputStream oStream = new FileOutputStream("/dev/usb/lp0"); BufferedOutputStream lp0out = new BufferendOutputStream(oStream); byte[] data = new byte[]{0x1b, 0x40}; //

我需要在linux环境下与来自java的小型标签打印机(通过ESC/p形式)交互。打印机可作为字符设备在
/dev/usb/lp0
上使用

发送数据非常有效:

FileOutputStream oStream = new FileOutputStream("/dev/usb/lp0");
BufferedOutputStream lp0out = new BufferendOutputStream(oStream);
byte[] data = new byte[]{0x1b, 0x40}; // ESC, @  = initialise printer
lp0out.write(data);

现在要查询打印机状态,我还需要读取它对特定命令的响应。如何在输入和输出模式下打开设备?发送请求后是否需要关闭outputstream,然后打开设备进行输入?

您是否尝试在单独的线程中打开同一设备上的FileIntputStream?如果您确定将生成输入,您可以在同一线程上执行此操作,甚至:打开两个流,写入输出,然后读取输入。