Phase 1, Project SL (FSJD)
name = Pratap Singh Sisodia
email = prataps135@gmail.com
- Collections Framework.
- File Handling.
- Sorting.
- Flow Control.
- Recursion.
- Exception Handling.
- Streams API.
The application is designed to keep on running and taking user inputs even after exceptions occur. To terminate the application, appropriate option needs to be selected.
The application can take any file/folder name as input. Even if the user wants to create nested folder structure, user can specify the relative path, and the application takes care of creating the required folder structure.
User is also provided the option to write content if they want into the newly created file.
The application doesn’t restrict user to specify the exact filename to search/delete file/folder. They can specify the starting input, and the program searches all files/folder starting with the value and displays it. The user is then provided the option to select all files or to select a specific index to delete.
The application also allows user to delete folders which are not empty.
The user is able to seamlessly switch between options or return to previous menu even after any required operation like adding, searching, deleting or retrieving of files is performed.
When the option to retrieve files in ascending order is selected, user is displayed with two options of viewing the files.
Ascending order of folders first which have files sorted in them,
Ascending order of all files and folders inside the “main” folder.
The application is designed with modularity in mind. Even if one wants to update the path, they can change it through the source code. Application has been developed keeping in mind that there should be very less “hardcoding” of data.
Further enhancements to the application can be made which may include:
- Conditions to check if user is allowed to delete the file or add the file at the specific locations.
- Asking user to verify if they really want to delete the selected directory if it’s not empty.
- Retrieving files/folders by different criteria like Last Modified, Type, etc.
- Allowing user to append data to the file.
