Написать на Linux Chardevice в Java - PullRequest
1 голос
/ 23 июля 2011

Я пытаюсь читать и писать на устройстве char в Ubuntu, но когда я создаю выходной поток, я получаю следующее исключение:

java.io.FileNotFoundException: / dev / usb / legousbtower0 (Устройство или ресурс занят)

Это мой код:

myInputStream = new FileInputStream("/dev/usb/legousbtower0");
myOutputStream = new FileOutputStream("/dev/usb/legousbtower0");

Входящий поток работает, и я могу записать на устройство, используя терминал

эхо-тест> / dev / usb / legousbtower0

Я пытаюсь определить, что использует устройство, используя фьюзер, но ничего не получается.

Ответы [ 2 ]

1 голос
/ 23 июля 2011

Когда вы открываете устройство как InputStream, оно помечается как открытое операционной системой. Поскольку только одна программа должна получить доступ к устройству одновременно, вторая open не будет выполнена. Вам нужно открыть устройство в режиме чтения-записи, вероятно, используя RandomAccessFile .

0 голосов
/ 23 июля 2011

Вы пытались открыть его с помощью append = true?

myOutputStream = new FileOutputStream("/dev/usb/legousbtower0", true);
...