2012-04-03 68 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. 
     } 

}