I'm playing around with the LineNumberReader example from Bruce Eckel's book. The example produces: 12 ... 12 ... ... 12 ... instead of 1 ... 2 ... ... 12 ... Is this a bug in the java-linux libraries? Or simply something I'm missing in the code? Nicholas
import java.io.*; import java.text.*; import java.util.*; public class Test3 { public static void main(String[] args) { try { // 1. Reading input by lines: BufferedReader in = new BufferedReader( new FileReader(args[0])); String s, s2 = new String(); while((s = in.readLine())!= null) s2 += s + "\n"; in.close(); try { LineNumberReader li = new LineNumberReader( new StringReader(s2)); BufferedReader in4 = new BufferedReader(li); PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter("IODemo.out"))); while((s = in4.readLine()) != null ) out1.println( "Line " + li.getLineNumber() + s); out1.close(); } catch(EOFException e) { System.out.println("End of stream"); } } catch(FileNotFoundException e) { System.out.println( "File Not Found:" + args[1]); } catch(IOException e) { System.out.println("IO Exception"); } } }
total 21 -rw-r--r-- 1 nic nic 236 Mar 18 14:06 TelephonyUserState.class -rw-r--r-- 1 nic nic 1161 Mar 18 14:06 Test.class -rw-r--r-- 1 nic nic 2152 Mar 16 20:30 Test.java -rw-r--r-- 1 nic nic 123 Mar 16 11:22 Test.java~ -rw-r--r-- 1 nic nic 3237 Mar 18 17:50 Test2.class -rw-r--r-- 1 nic nic 3053 Mar 18 17:50 Test2.java -rw-r--r-- 1 nic nic 180 Mar 18 14:01 Test2.java~ -rw-r--r-- 1 nic nic 1875 Mar 19 17:48 Test3.class -rw-r--r-- 1 nic nic 992 Mar 19 17:48 Test3.java -rw-r--r-- 1 nic nic 3053 Mar 19 17:43 Test3.java~ -rw-r--r-- 1 nic nic 0 Mar 19 17:48 test.txt
Line 12total 21 Line 12-rw-r--r-- 1 nic nic 236 Mar 18 14:06 TelephonyUserState.class Line 12-rw-r--r-- 1 nic nic 1161 Mar 18 14:06 Test.class Line 12-rw-r--r-- 1 nic nic 2152 Mar 16 20:30 Test.java Line 12-rw-r--r-- 1 nic nic 123 Mar 16 11:22 Test.java~ Line 12-rw-r--r-- 1 nic nic 3237 Mar 18 17:50 Test2.class Line 12-rw-r--r-- 1 nic nic 3053 Mar 18 17:50 Test2.java Line 12-rw-r--r-- 1 nic nic 180 Mar 18 14:01 Test2.java~ Line 12-rw-r--r-- 1 nic nic 1875 Mar 19 17:48 Test3.class Line 12-rw-r--r-- 1 nic nic 992 Mar 19 17:48 Test3.java Line 12-rw-r--r-- 1 nic nic 3053 Mar 19 17:43 Test3.java~ Line 12-rw-r--r-- 1 nic nic 0 Mar 19 17:48 test.txt