You are given a String variable named file. It contains the name of a one-line file. Write a sequence of statements that make an exact copy of the file and give it the same name but with the string “.cpy” attached to the filename. Make sure that the data written to the file has been flushed from its buffer and that any system resources used during the course of running these statements have been released.(Do not concern yourself with any possible exceptions here– assume they are handled elsewhere.)

LANGUAGE: JAVA

CHALLENGE:

You are given a String variable named file. It contains the name of a one-line file. Write a sequence of statements that make an exact copy of the file and give it the same name but with the string “.cpy” attached to the filename. Make sure that the data written to the file has been flushed from its buffer and that any system resources used during the course of running these statements have been released.(Do not concern yourself with any possible exceptions here– assume they are handled elsewhere.)

SOLUTION:


Scanner scan = new Scanner(new FileReader(file));
String newFileName = file + ".cpy";
PrintWriter cpyFile = new PrintWriter(newFileName);

while (scan.hasNextLine()){
   cpyFile.write(scan.nextLine());
}
scan.close();
cpyFile.close();