code: @Override public ProjectFile read(File file) throws MPXJException
     {
        try
        {
           String url = "jdbc:sqlite:" + file.getAbsolutePath();
           Properties props = new Properties();
           props.setProperty("date_string_format", "yyyy-MM-dd HH:mm:ss");
           // Note that we use the JDBC driver class directly here.
           // This ensures that it is an explicit dependency of MPXJ
           // and will work as expected in .Net.
           m_connection = org.sqlite.JDBC.createConnection(url, props);
           m_projectID = Integer.valueOf(0);
           return read();
        }
  
        catch (SQLException ex)
        {
           throw new MPXJException("Failed to create connection", ex);
        }
  
        finally
        {
           if (m_connection != null)
           {
              try
              {
                 m_connection.close();
              }
  
              catch (SQLException ex)
              {
                 // silently ignore exceptions when closing connection
              }
           }
        }
     }
docs: {@inheritDoc}