I need help with this Java assignment. Please include comments throughout. Thanks Write a program that will make a copy of a text file, line by line. Read the name of the existing file and the name of the new file - the copy - from the keyboard. Use the methods of the class File to test whether the original file exists and can be read. If not, display an error message and abort the program. Similarly, see whether the name of the new file already exists. If so, display a warning message and allow the user to either abort the program , overwrite the existing file, or enter a new name for the file. Solution import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; public class Project4 { public static void main(String[] args) { System.out.print(\"Enter file name: \"); Scanner keybaord = new Scanner(System.in); String fileName = keyboard.next(); Scanner inputStream = null; System.out.println(fileName); File fileObject = new File(\"old.txt\"); String path = \"C:\\\\Library\\\\Documents\\\\NetBeansProjects\\\\Project4\"; File source = new File(path); try { inputStream = new Scanner(new File(fileName)); } catch(FileNotFoundException e) { System.out.println(\"Error opening the file \" + fileName); System.exit(0); } while (inputStream.hasNextLine()) { String line = inputStream.nextLine(); System.out.println(line); } inputStream.close(); boolean fileOK = false; while (!fileOK) { if (!fileObject.exists()) System.out.println(\"No such file\"); else if (!fileObject.canRead()) System.out.println(\"That file is not readable.\"); else fileOK = true; if (!fileOK) { System.out.println(\"Enter the file name again:\"); fileName = keyboard.next(); fileObject = new File(fileName); } } } public static void PrintWriter openOutputTextFile { (String fileName) throws FileNotFoundException { PrintWriter toFile = new PrintWriter(fileName); return toFile; } PrintWriter outputStream = null; try { outputStream = openOutputTextFile(\"old.txt\"); } catch (FileNotFoundException e) } }.