Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This is due this friday and my previous question wasn\'t answered correctly. Ple

ID: 3548291 • Letter: T

Question

This is due this friday and my previous question wasn't answered correctly. Please help! Thank you.

---------------------------------------------------------------------------------------------

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.  If the original file exists and there isnt a file with the same name as the new file, copy the file. If a file with the name of the new file exists, 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.  Create the existing file with a text editor (e.g. you may use Word but save the file as a text (.txt) file).

--------------------------------------------------------------------------------------------

Hint: To find the text file, use a full path name when entering the file name, such as

C: extfilesStateCapitals.txt

You can save typing in the full path name by putting the file in the project directory, such as in

C:UsersmeDocumentsNetBeansProjectsProject4

and just typing in the file names.

---------------------------------------------------------------------------------------------


Sample program executions follow:

Enter the name of the existing file: old.txt

Enter the name of the new file: new.txt

Copying old.txt into new.txt

Enter the name of the existing file: old.txt

Enter the name of the new file: new.txt

old.txt does not exist.

Exiting program.

Enter the name of the existing file: old.txt

Enter the name of the new file: new.txt

new.txt already exists

Choose from the following choices:

1 Exit the program

2 Overwrite the existing file

3 Enter a new name for the file

Enter a number: 1

Exiting program

Enter the name of the existing file: old.txt

Enter the name of the new file: new.txt

new.txt already exists

Choose from the following choices:

1 Exit the program

2 Overwrite the existing file

3 Enter a new name for the file

Enter a number: 2

Overwriting new.txt

Enter the name of the existing file: old.txt

Enter the name of the new file: new.txt

new.txt already exists

Choose from the following choices:

1 Exit the program

2 Overwrite the existing file

3 Enter a new name for the file

Enter a number: 3

Enter a new name for the file:  newer.txt

Copying old.txt into newer.txt


Explanation / Answer

This code will work with the same message as u desired in your oyput...

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;


public class TextTest {


public static void main(String[] args) {


System.out.println("Enter the name of the existing file : ");

Scanner scanner = new Scanner(System.in);

String inputfileName = scanner.nextLine();

System.out.println("Enter the name of the new file : ");

String outputfilename = scanner.nextLine();

if(inputfileName == null || inputfileName.trim().length() == 0 ){

System.out.println(inputfileName + " does not exist." );

System.out.println("Exiting program.");

System.exit(0);

}

// read one line at a time

String line = null;


try {

// FileReader reads text files in the default encoding.

while(new File(outputfilename).exists()){

if(new File(inputfileName).exists()){

FileReader fileReader = new FileReader(inputfileName);

BufferedReader bufferedReader = new BufferedReader(fileReader);

if(!(new File(outputfilename).exists())){

FileWriter fileWriter = new FileWriter(outputfilename);

BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

System.out.println("Copying " + inputfileName + " into" + outputfilename);

while((line = bufferedReader.readLine()) != null) {

bufferedWriter.write(line + " ");

   }

bufferedWriter.close();

}else{

System.out.println("The file " + outputfilename + " already exists");

System.out.println("Please choose from the following option");

System.out.println("1

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote