Write a java program that would ask the user to enter an input file name, and an
ID: 3796631 • Letter: W
Question
Write a java program that would ask the user to enter an input file name, and an output file name. Then the program reads the content of the input file, and then writes the content of the input file to the output file with each line proceeded with a line number followed by a colon. The line numbering should start at 1.
should be used the following technique
(a) while loop should be used to complete the program.
(b)Scanner classisused
(c) PrintWriter class is used
(d) The files are closed before the program terminates.
Example
Original Input file Output file with line number added 134 1: 134 125 2: 125 112 3: 112 189 4: 189Explanation / Answer
FileCopier.java:-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class FileCopier {
public static void main(String[] args) throws IOException{
Scanner in=new Scanner(System.in);
System.out.println("Enter input file");
File inputFile=new File(in.nextLine());
if(!inputFile.exists()){
System.out.println("Source file doesn't exist");
System.exit(0);
}
FileInputStream fis=new FileInputStream(inputFile);
System.out.println("Enter output file");
FileWriter fw=new FileWriter(in.nextLine());
PrintWriter pw=new PrintWriter(fw);
in=new Scanner(inputFile);
int i=1;
while(in.hasNextLine()){
String s=in.nextLine();
pw.write(i++ + ": " + s + " ");
}
pw.flush();pw.close();
}
}
Console output:
Enter input file
test.txt
Enter output file
output.txt
Sample run 1:-
test.txt:
hey
123
.
howdy
output.txt:
1: hey
2: 123
3: .
4: howdy
Sample run 2:-
test.txt:
123
345
567
789
output.txt
1: 123
2: 345
3: 567
4: 789
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.