我需要在 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);
现在要询问打印机状态,我还需要读取它对特定命令的响应。如何在输入和输出模式下打开设备?发送请求后是否需要关闭输出流,然后打开设备进行输入?