//:NewIODemo.java // Java 1.1 ID typical usage import java.io.*; public class NewIODemo { 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(); //1b. Reading standard input : BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Enter a line:"); System.out.println(stdin.readLine() ); // 2.Input from memory StringReader in2 = new StringReader(s2); int c; while ( (c= in2.read() )!= -1) System.out.print( (char)c); //3. Formattted memory input try { DataInputStream in3 = new DataInputStream ( //Oops: must use deprecated class: new StringBufferInputStream(s2)); while(true) System.out.println((char)in3.readByte()); } catch(EOFException e) { System.out.println("End of stream"); } // 4.Line numvering & file output try { LineNumberReader li = new LineNumberReader( new StringReader(s2) ); BufferedReader in4 = new BufferedReader(li); PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter("IDDemo.out"))); while( (s = in4.readLine()) != null) out1.println( "Line " + li.getLineNumber() +s); out1.close(); } catch(EOFException e) { System.out.println("End of stream"); } //5. storing & recovering data try{ DataOutputStream out2 = new DataOutputStream ( new BufferedOutputStream( new FileOutputStream("Data.txt"))); out2.writeDouble(3.14159); out2.writeBytes("That was pi"); out2.close(); DataInputStream in5 = new DataInputStream( new BufferedInputStream( new FileInputStream("Data.txt"))); BufferedReader in5br = new BufferedReader( new InputStreamReader(in5)); //Must use DataInputStream for dta; System.out.println(in5.readDouble() ); //Can now use the "proper" readLine(): System.out.println(in5br.readLine() ); } catch( EOFException e){ System.out.println("End of stream"); } //6. Reading and writing random access // files is the same as before. // (not repeated here) }catch(FileNotFoundException e){ System.out.println( "File Not Found:" +args[1]); }catch(IOException e){ System.out.println("IO Exception"); } } }////:~