File I/O Lab
Categories:
2 minute read
Introduction
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.
Resources
Useful API documents:
Files
The following unfinished files are provided:
Instructions - Part 1
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.
Instructions - Part 2
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.
Instructions - Part 3 (If Time)
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.
Submitting
Submit your completed versions of Document.java
and Editor.java
to Gradescope . 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: