'Determine how many bytes can be read out of C{fObj} (assuming it is not
modified from this point on).  If the determination cannot be made,
return C{UNKNOWN_LENGTH}.'

def _determineLength(self, fObj):

    try:
        seek = fObj.seek
        tell = fObj.tell
    except AttributeError:
        return UNKNOWN_LENGTH
    originalPosition = tell()
    seek(0, os.SEEK_END)
    end = tell()
    seek(originalPosition, os.SEEK_SET)
    return (end - originalPosition)
