Read byte buffer with specified size from input file.
        Raise exception in two cases:
            - File already closed.
            - Not enough data to read.

        Keyword arguments:
        size -- size of buffer to read (default 1)

def read(self, size=1):
        """
        Read byte buffer with specified size from input file.
        Raise exception in two cases:
            - File already closed.
            - Not enough data to read.

        Keyword arguments:
        size -- size of buffer to read (default 1)
        """
        if self.is_closed_flag:
            raise Exception("Unable to read - already closed!")
        if self.get_remaining_size() < size:
            raise Exception("Unable to read byte buffer - too short remaining data size!")
        self.read_count += size
        return self.file.read(size)