|
Copy2 |
|
1 // joi/9/copy/Copy2.java
2 //
3 //
4 // Copyright 2003 Bill Campbell and Ethan Bolker
5
6 import java.io.*;
7
8 /**
9 * Simple read-a-line write-a-line loop to exercise file I/O.
10 *
11 * Usage: java Copy2 inputfile outputfile
12 */
13
14 public class Copy2
15 {
16 /**
17 * All work is done here.
18 *
19 * @param args names of the input file and output file.
20 */
21
22 public static void main( String[] args )
23 {
24 BufferedReader inStream = null;
25 BufferedWriter outStream = null;
26 String line;
27
28 try {
29 // open the files
30 inStream = new BufferedReader(new FileReader(args[0]));
31 outStream = new BufferedWriter(new FileWriter(args[1]));
32
33 // copy
34 while ((line = inStream.readLine()) != null) {
35 outStream.write( line );
36 outStream.newLine();
37 }
38 }
39 catch (IndexOutOfBoundsException e) {
40 System.err.println(
41 "usage: java Copy2 sourcefile targetfile" );
42 }
43 catch (FileNotFoundException e) {
44 System.err.println( e ); // rely on e's toString()
45 }
46 catch (IOException e) {
47 System.err.println( e );
48 }
49 finally { // close the files
50 try {
51 if (inStream != null) {
52 inStream.close();
53 }
54 }
55 catch (Exception e) {
56 System.err.println("Unable to close input stream.");
57 }
58 try {
59 if (outStream != null) {
60 outStream.close();
61 }
62 }
63 catch (Exception e) {
64 System.err.println("Unable to close output stream.");
65 }
66 }
67 }
68 }
69
|
Copy2 |
|