Я бы вставил закрытие в блок finally, просто чтобы убедиться, что он очищен правильно в случае исключения.
public void tryToDoWhatever() throws Exception
{
DataInputStream in = null;
try
{
in = new DataInputStream(
new BufferedInputStream(new FileInputStream(file)));
}
finally
{
if (in != null)
in.close();
}
}