2011-07-23 37 views
1

我試圖讀取和Ubuntu的一個字符設備上進行書寫,但是當我創建的OutputStream我得到這個例外的Linux chardevice:寫在Java中

java.io.FileNotFoundException是:/ dev/USB/legousbtower0(設備或資源忙)

這是我的代碼:

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

InputStream的作品,我可以寫入設備使用終端

回聲測試>的/ dev/USB/legousbtower0

我試圖發現什麼是使用使用熱熔器,但沒有結果的裝置。

回答

1

當您打開設備作爲InputStream,它標記由操作系統開放。由於一次只能有一個程序訪問設備,因此第二個程序將失敗。您需要以讀寫模式打開設備,可能使用 RandomAccessFile

+0

謝謝!我使用了RandomAccessFile,一切都像魅力一樣。 – Daniel

-1

你試過用append = true打開它嗎?

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

我試過了,但它無法正常工作。 – Daniel

+0

是啊這主要是一個猜測,我真的不認爲它會。 –