123k views
0 votes
Write an application that determines which, if any, of the following files are stored in the folder where you have saved the exercises created in this chapter: autoexec.bat, CompareFolders.java, FileStatistics.class, and Hello.doc. The program should display the number of files found. For example, if two of the files are found display the message 2 of the files exist.

User JerSchneid
by
5.5k points

1 Answer

2 votes

Answer:

Here is the JAVA application that determines which if any of the following files are stored in folder where you have saved the exercises created.

import java.nio.file.*; // used to manipulate files and directories

import java.nio.file.attribute.*; //used to provide access to file and file attributes

import static java.nio.file.AccessMode.*; // provides access modes to test the accessibility of a file

import java.io.IOException; //for exception handling

class FindSelectedFiles {

public static void main(String[] args) { //start of main function

Path f1 = Paths.get("/root/sandbox/autoexec.bat"); //creates Path object f1 using Paths.get() method and this instance contains the file name and directory list used to construct the specified path

Path f2 = Paths.get("/root/sandbox/CompareFolders.java"); //creates Path object f2 using Paths.get() method and this instance contains the file name and directory list used to construct the specified path

Path f3 = Paths.get("/root/sandbox/FileStatistics.class"); //creates Path object f3 using Paths.get() method and this instance contains the file name and directory list used to construct the specified path

Path f4 = Paths.get("/root/sandbox/Hello.doc"); //creates Path object f4 using Paths.get() method and this instance contains the file name and directory list used to construct the specified path

int count=0; //used to count the number of files found

try{ // used to define a code chunk to be tested for errors

f1 = Paths.get("/root/sandbox/autoexec.bat"); // Converts a path string when joined form a path string to a Path

System.out.println(f1); //prints the file

/* getFileSystem method is used to return the file system that created this Path object f1 and checkAccess Verifies access and throws exception if something is wrong

f1.getFileSystem().provider().checkAccess(f1);

System.out.println(f1 +" File Exists\\"); //if file exists then displays this message

count++; } //adds 1 to the count of number of files found

catch (IOException e) { //a code chunk to be executed if error occurs in the try part

System.out.println("File Doesn't Exist\\"); } //if file not found displays this message

try{ //works same as above try block but for 2nd folder and object f2

f2 = Paths.get("/root/sandbox/CompareFolders.java");

System.out.println(f2);

f2.getFileSystem().provider().checkAccess(f2);

System.out.println(f2 +" File Exists\\");

count++; }

catch (IOException e) {

System.out.println("File Doesn't Exist\\"); }

try{ //works same as above try block but for 3rd folder and object f3

f3 = Paths.get("/root/sandbox/FileStatistics.class");

System.out.println(f3);

f3.getFileSystem().provider().checkAccess(f3);

System.out.println("File Exists\\");

count++; }

catch (IOException e) {

System.out.println("File Doesn't Exist\\"); }

try{ //works same as above try block but for 4th folder and object f4

f4 = Paths.get("/root/sandbox/Hello.doc");

System.out.println(f4);

f4.getFileSystem().provider().checkAccess(f4);

System.out.println(f4 +" File Exists\\");

count++; }

catch (IOException e) {

System.out.println("File Doesn't Exist\\"); }

System.out.println(count+" of the files exist"); } } //displays the number of files found

Step-by-step explanation:

If you want to directly pass the file name as argument to Paths.get() method then you can use the following code:

Path f1 = Paths.get("autoexec.bat");

Path f2 = Paths.get("CompareFolders.java");

Path f3 = Paths.get("FileStatistics.class");

Path f4 = Paths.get("Hello.doc");

The program determines if any, of the files from autoexec.bat, CompareFolders.java, FileStatistics.class, and Hello.doc. are stored in the folder. If a file is found then the program displays the message File exists and add 1 to the count variable each time a file is found. If all the files are found then the program returns the count as 4 otherwise the program display the number of files found by displaying the computed final value of count in the output. Lets say all the files are found then the output of the above program is:

autoexec.bat autoexec.bat File Exists

CompareFolders.java CompareFolders.java File Exists

FileStatistics.class File Exists

Hello.doc Hello.doc File Exists

4 of the files exist

User Clement Attlee
by
5.1k points