BufferedReader in = null;
FileReader fileReader = null;
StringBuffer errorString = new StringBuffer();
boolean errorOccurred = false;
try
{
fileReader = new FileReader( filename );
in = new BufferedReader( fileReader );
}
catch ( FileNotFoundException exception )
{
throw new ImportFileDeviation( ERROR_OPENING + nameForErrors +
": " + filename, exception );
}
try
{
String line = null;
// Keep reading till the end of the file
while ( ( line = in.readLine() ) != null )
{
if ( line.length() > 0 )
{
try
{
addFromFile.addToCollection( line );
}
catch ( ParseLineDeviation e )
{
errorString.append( e.getMessage() +
System.getProperty( "line.separator" ) );
errorOccurred = true;
}
}
}
}
catch ( IOException exception )
{
throw new ImportFormatDeviation( ERROR_READING + nameForErrors +
": " +
filename );
}
finally
{
try
{
in.close();
}
catch ( IOException exception )
{
throw new SeriousErrorException(
ERROR_CLOSING + nameForErrors +
": " + filename, exception );
}
}
if ( errorOccurred )
{
throw new ImportFormatDeviation( errorString.toString() );
}
return;