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
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.