本文介绍的java规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。
一、在finally方法里关掉input或者output资源,方法体里面定义了input或者output流的话,需要在finally里面把它关掉。
以下这几种调用不需要遵守这条规则,因为colse()方法不起作用:
java.io.StringWriter
java.io.ByteArrayOutputStream
java.io.ByteArrayInputStream
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");
}
// 假如出现异常,这里就不能保证关闭资源。
}
}
public class CIOFixed
{
public void method (java.io.File f)
{
java.io.FileInputStream fis = null;
try {
fis = new java.io.FileInputStream(f);
fis.read ();
} catch (java.io.FileNotFoundException e1)
{
System.out.println("File not found");
} catch (java.io.IOException e2)
{
System.out.println("I/O Exception");
} finally
{
if (fis != null)
{
try
{
fis.close ();
}
catch (java.io.IOException e)
{
System.out.println("I/O Exception");
}
}
}
}
}
if (i < 5)
if (i < 2)
i++;
else
i--;
if (i < 5)
{
if (i < 2)
i++;
}
else
{
i--;
}
try {
System.in.read ();
} catch (java.io.IOException e)
{
// 错误
}
try {
System.in.read ();
} catch (java.io.IOException e)
{
System.out.println("Descriptive error");
}
新闻热点
疑难解答