The goal of this lab is to practice working with Java file I/O by
adding load/save functionality to the Document
class you
completed in a previous lab.
The code for this lab was originally designed as a command-line Java application so you may want to run it in the terminal. It is also fine to run it through the Eclipse console.
As a reminder, you can follow the following steps to compile and execute a Java program in a Linux/OSX terminal:
$ cd the_directory_where_your_code_is_stored $ javac File1.java File2.java ... $ java File1
This example assumes that File1.java
contains the
main method for the application.
The following unfinished files are provided:
Document.java
Editor.java
This is an
editor application that provides a command-line interface to
the Document
class.
Download the files above and complete Document.java
so that the unfinished methods conform to the Javadoc comments. Test
your completed file by running the provided application program.
The current implementation of the Editor
class does not
include code for handling exceptions related to file I/O: If you
attempt to open a non-existent file, or to write a file to a location
where do not have permission, the application will crash.
Modify Editor.java
by removing
all throws
declarations and adding try/catch blocks
to saveFile
and loadFile
. If an exception
occurs, these methods should print a helpful error message and
then allow execution to proceed normally.
Most text editors allow you to save the current document without re-entering the file name. Modify the Editor class so that it provides this functionality. If the file is already associated with a file name (because of an earlier save or load) then the "s" command should now save the current version without prompting for a file name. You should also add a save-as command to allow specifying a file name even if one already exists. Use "w" to trigger save-as. Make sure to update the help message to conform to the new functionality.
Submit your completed versions of Document.java
and Editor.java
through
Autolab. Style checking is turned off, and you have an unlimited
number of submissions. If you have trouble with your submission, you
may find it helpful to look at the JUnit submission tests:
DocumentTestWithIO.java
, EditorTest.java
.