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\n"); //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\n"); } //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\n");
count++; }
catch (IOException e) {
System.out.println("File Doesn't Exist\n"); }
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\n");
count++; }
catch (IOException e) {
System.out.println("File Doesn't Exist\n"); }
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\n");
count++; }
catch (IOException e) {
System.out.println("File Doesn't Exist\n"); }
System.out.println(count+" of the files exist"); } } //displays the number of files found
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