public Map<String, List<String>> analyzeFile( String sFileName ) throws FileNotFoundException
    {
        File oFile = new File( CommonConstants.STR_DEF_INPUT_DIR + sFileName );
        BufferedReader oReader = null;
        FileReader oFileReader = null;
        String sLine = null;
        Map<String, List<String>> oResult = new HashMap<String, List<String>>( );

        try
        {
            // Check if the file is readable.
            oFileReader = new FileReader( oFile );

            // Wrap FileReader into a BufferedReader for easier line reading.
            oReader = new BufferedReader( oFileReader );

            while ( ( sLine = oReader.readLine( ) ) != null )
            {
                if ( !sLine.equals( CommonConstants.STR_EMPTY ) )
                {
                    oResult.put( sLine, analyzeNumber( sLine ) );
                }
            }
        }
        catch ( FileNotFoundException e )
        {
            throw e;
        }
        catch ( IOException e )
        {
            System.err.println( "Error occurred while reading the file: " + sFileName );
            e.printStackTrace( );
        }
        
        return oResult;
    }