S
Stefan Ram
When creating and using a file input stream,
what is the most recommendable boilerplate?
Or, what should be taught in a tutorial?
This first possibility?
{ final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
/* use the fileInputStream */ }
Or this second possibility?
{ final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
try
{ /* use the fileInputStream */ }
finally
{ fileInputStream.close(); }}
~~
The following code does not contain »finally« for
simplification, but is it good, unneccessary, or harmful to
write all these close()s in this order?
final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
final java.io.InputStreamReader inputStreamReader
= new java.io.InputStreamReader( fileInputStream, "UTF-8" );
final java.io.BufferedReader bufferedReader
= new java.io.BufferedReader( inputStreamReader );
/* ... use bufferedReader here ... */
bufferedReader.close();
inputStreamReader.close();
fileInputStream.close();
what is the most recommendable boilerplate?
Or, what should be taught in a tutorial?
This first possibility?
{ final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
/* use the fileInputStream */ }
Or this second possibility?
{ final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
try
{ /* use the fileInputStream */ }
finally
{ fileInputStream.close(); }}
~~
The following code does not contain »finally« for
simplification, but is it good, unneccessary, or harmful to
write all these close()s in this order?
final java.io.FileInputStream fileInputStream
= new java.io.FileInputStream( sourceFile );
final java.io.InputStreamReader inputStreamReader
= new java.io.InputStreamReader( fileInputStream, "UTF-8" );
final java.io.BufferedReader bufferedReader
= new java.io.BufferedReader( inputStreamReader );
/* ... use bufferedReader here ... */
bufferedReader.close();
inputStreamReader.close();
fileInputStream.close();