Write a program that opens a Java source file adds line numb
Solution
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class PrintLineNum {
public static void main(String[] args) throws IOException {
Scanner inputScanner = new Scanner(System.in);
// Prompting the user for a Java Source File
System.out.println(\"Please enter the name of a Java Source File:\");
String javaSourceFileName = inputScanner.nextLine();
// Read the file.
String currentLineofCode;
// Output file name formatting
String javaSourceFileNameWithLineNumber = javaSourceFileName.replace(\".\", \"_\");
javaSourceFileNameWithLineNumber += \".txt\";
PrintWriter writer = new PrintWriter(javaSourceFileNameWithLineNumber, \"UTF-8\");
// The following is a auto-closable try block to read the source file, append line num and populate in the output file.
try(BufferedReader bReader = new BufferedReader(new FileReader(javaSourceFileName))){
int lineNum = 0;
while ((currentLineofCode = bReader.readLine()) != null) {
System.out.println(currentLineofCode);
writer.printf(\"%03d:\", ++lineNum);
writer.print(currentLineofCode);
writer.println();
}
}
inputScanner.close();
writer.close();
}
}
