Project 3 - TBA
Due TBA
For this project you will implement a command-line based tool that will allow the user to view a list of all files in a given directory and its subdirectories, and will allow the user to upload selected files to a Google Documents account.
Requirements
- The absolute path of a directory will be passed as input to the program at the command line. A sample launch of the program would look as follows: java Driver /Users/srollins/Desktop/sampledir
- At startup, the program will recursively traverse the given directory and build a list of all files that appear in the directory or any directory that is a descendant of the directory provided.
- The user may select from the following options:
- List all files found sorted by the last modified date of the files.
- List all files found sorted alphabetically by the name of the files.
- List all files with name containing a pattern specified by the user (e.g., java would list all files with names containing the string java).
- Upload to Google Docs. Allow the user to provide a Google Docs name and password and select a txt file. Note, the user can only upload a file with name ending with .txt. Once information has been provided, upload the file to the specified Google Docs account.
- Exit the program.
- You will implement the design outlined in the javadoc found here: Javadoc for Required Design. You must receive explicit permission, via email, if you wish to deviate from this design.
- The user may select from the following options:
A sample run of your program would look as follows: Sample Run
Notes
- You are required to accept a command line parameter. See the instructor during office hours if you have questions about this.
- You are required to use inheritance, specifically your DocumentList class must extend ArrayList.
- You are required to use recursion to traverse the given directory and all directories that are descendants of the given directory.
- You are required to implement a sorting algorithm. Please see Chapter 10 of your text for more information on sorting.
- It is recommended that you implement the upload to Google Docs last. Get everything else working before implementing the UploadInfo and DocUploader classes.
Please submit your work in an SVN directory https://www.cs.usfca.edu/svn/<username>/cs112/project3