2012-04-03 62 views
2

我有數據來自藍牙設備,數據存儲在輸入流中。我從輸入流中獲取數據並使用Jfreechart生成圖形。每當我關閉藍牙設備時,數據就會繼續來自輸入流,並繼續生成圖形。如何清除java中的輸入流

當我關閉藍牙設備時,我需要數據和圖形停止。

我正在使用Java。

回答

2

每個InputStream都有一個close()方法,該方法應該完全按照您的需要來執行......如果您可以檢測到設備已關閉,那就是。

The docs on this.

+2

不會去+1或-1,但是如果OP可以檢測到設備被關閉,那麼他應該停止讀取InputStream(當然是關閉它)。僅僅關閉InputStream不會阻止他的邏輯繼續嘗試讀取它,並可能導致IOException。 – 2012-04-03 22:27:08

+1

是的,我可能有點太沒心思了。 – 2012-04-03 22:33:08

0

參考鏈接:Closing java InputStream

這解決了我的問題太多。

Properties props = new Properties(); 
    InputStream fis = new FileInputStream("message.properties"); 
    try { 
     props.load(fis); 
     //omitted. 
    } catch (Exception ex) { 
     //omitted. 
    } finally { 
     try { 
      fis.close(); 
      fis=null; 
     } catch (IOException ioex) { 
      //omitted. 
     } 

}