Yes.
The program must work correctly with an empty file. This may seem dumb, but there is no reason to have a program break when it is used in an unexpected fashion. Here is the copy program with pieces left out:
class CopyMaker
{
String sourceName, destName;
BufferedReader source;
PrintWriter dest;
String line;
CopyMaker ( String source, String dest )
{
sourceName = source;
destName = dest;
}
private boolean openFiles() // return true if files open, else false
{
}
private void copyFiles()
{
}
private void closeFiles()
{
}
public static void main ( String[] args )
{
if ( args.length == 3 && args[1].toUpperCase().equals("TO") )
{
CopyMaker cp = new CopyMaker( args[0], args[2] );
if ( cp.openFiles() )
{
cp.copyFiles() ;
cp.closeFiles() ;
}
}
else
System.out.println("java CopyTextFile source to destination");
}
}
Rather than write one big main() it is convenient to
define an object whose several methods implement the steps in
copying files.
Potentially the object could be used as a component of a larger
program.
The main() method collects
information from the user.
If the information looks correct,
it creates a CopyMaker object
and
calls its methods.