I'm reading from a binary file and want to convert the bytes to US ASCII strings. Is there any way to do this without calling new
on String
to avoid multiple semantically equal String
objects being created in the normal object pool? I'm thinking that it is probably not possible since introducing String
objects using double quotes is not possible here. Is this correct?
private String nextString(DataInputStream dis, int size)
throws IOException
{
byte[] bytesHolder = new byte[size];
dis.read(bytesHolder);
return new String(bytesHolder, Charset.forName("US-ASCII")).trim();