// LineNumberer.java // Add line numbers to each line in a file import java.io.*; // import classes for file I/O import java.util.Scanner; public class LineNumberer { public static void main(String[] args) { String inputFileName, outputFileName, currLine, numberedLine; Scanner in = new Scanner(System.in); // for keyboard input Scanner fileIn = null; // for file input PrintWriter fileOut = null; // for file output // get input file name System.out.print("Enter input file name: "); inputFileName = in.next(); // get output file name System.out.print("Enter output file name: "); outputFileName = in.next(); try { // important: use these to read from and write to files fileIn = new Scanner(new File(inputFileName)); fileOut = new PrintWriter(new FileWriter(outputFileName)); // read each line, prepend current line number, and write out int count = 0; while (fileIn.hasNextLine()) { currLine = fileIn.nextLine(); count++; numberedLine = count + ": " + currLine; fileOut.println(numberedLine); // write numbered line to file System.out.println(numberedLine); // print numbered line to screen } } catch (IOException e) { System.out.println("Error: " + e.getMessage()); } finally { // close files if (fileIn != null) fileIn.close(); if (fileOut != null) fileOut.close(); } } }