本文引见的Java规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。(1)在finally方法里关掉input或者output资源,方法体外面定义了input或者output流的话,需要在finally外面把它关掉。以下这几种调用不需要遵守这条规则,因为colse()方法不起作用:
java.io.StringWriter
java.io.ByteArrayOutputStream
java.io.ByteArrayInputStream
如果再方法前往的时分没有调用close()方法来释放input()和output()的资源的话,会导致一个系统资源泄漏。而且在任何情况下都要确定在前往全调用了close()方法,包括出现异常的时分。所以需要在finally方法外面参与这个方法。这样就保证了在任何情况下都会关闭资源。
错误示例:
public class CIO
{
public void method (java.io.File f)
{
java.io.FileInputStream fis = null;
try
{
fis = new java.io.FileInputStream (f);
fis.read ();
fis.close ();
} catch (java.io.FileNotFoundException e1)
{
System.out.println("File not found");
} catch (java.io.IOException e2)
{
System.
皙肤泉净痘无痕精华凝露out.println("I/O Exception");
}
// 如果出现异常,这里就不能保证关闭资源。
}
}