Tu cherches où est le premier zéro, et tu fais new String(buffer, 0 tailleDeLaString) si buffer est un char[], ou new String(buffer, 0 tailleDeLaString, "us-ascii") si buffer est un byte[].