'Read and decode a single file and return the data (Unicode string).'

def read(self):

    try:
        data = self.source.read()
    finally:
        if self.autoclose:
            self.close()
    return self.decode(data)
