import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; public class FileOpen { public FileOpen() { } public void readOneLineTCR(String filename) { try (BufferedReader br = new BufferedReader(new FileReader(filename));) { br.readLine(); // close unnecessary in this formulation } catch (FileNotFoundException e) { System.err.println("Cound not open file " + e); } catch (IOException e) { System.err.println("Problem reading " + e); } } public void readOneLineTC(String filename) { BufferedReader br = null; try { br = new BufferedReader(new FileReader(filename)); br.readLine(); } catch (FileNotFoundException fnf) { System.err.println("Cound not open file " + fnf); } catch (IOException e) { System.err.println("Problem reading " + e); } finally { if (br != null) { try { br.close(); // MUST EXPLICITLY CLOSE -- AND MUST BE IN FINALLY } catch (IOException ioe) { System.err.println("Problem closing reader " + ioe); } } } } public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("Enter file to be read: "); String name = br.readLine().trim(); new FileOpen().readOneLineTC(name); } catch (IOException e) { System.err.println("Could not read from the keyboard " + e); return; } } }