4. Write a Java program to imitate a file system of an operating system.
In your solution, design a class called BasicFile with options to carry out the following operations:
(a) Select and open an input file using a file dialog box.
(b) Make a copy of the file, whether it is a text file or an image file.
(c) Write to an output file with the option of either appending to the file, or over-writing the contents
of the file.
(d) Display the following attributes of the input file in a scrollable screen:
i. The absolute path of the file
ii. Files and directories that are in the path of the file.
iii. The size of the file in kilobytes.
iv. The number of lines in the file, if the is a text file.
(e) Display the contents of the input file in a scrollable pane.
(f) Search the input file line by line for a given string. The output must contain the line number,
followed by the contents of the line that contains the search argument. For instance given the
following the search string: Java, the program would search the file line by line generating a result
such as the following:
50: on the island of Java
95: The people of JAVA loves jaVa.
Use recursion to search the file.
(g) Tokenize the input file so that program recognizes all printable characters on the keyboard.
You may utilize the classes BasicFile and TestBasicFile as a source of reference.Attachments
Another way to customize the build is by overriding existing main targets.
The targets of interest are:
-init-macrodef-javac: defines macro for javac compilation
-init-macrodef-junit: defines macro for junit execution
-init-macrodef-debug: defines macro for class debugging
-init-macrodef-java: defines macro for class execution