X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ctf%2Forg.eclipse.tracecompass.ctf.core%2Fsrc%2Forg%2Feclipse%2Ftracecompass%2Fctf%2Fcore%2Ftrace%2FMetadata.java;h=e5214493f294a7c361d68301e065b642c5eaec9c;hb=192639cf6e6c027b30da3a3cf663d1d0ee028d77;hp=57e93610c6534f26219f7d69dba0cc7065549f24;hpb=d4a0dd3596d731af0bcc630575b336a46392fc5b;p=deliverable%2Ftracecompass.git diff --git a/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/trace/Metadata.java b/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/trace/Metadata.java index 57e93610c6..e5214493f2 100644 --- a/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/trace/Metadata.java +++ b/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/trace/Metadata.java @@ -59,6 +59,9 @@ public class Metadata { // ------------------------------------------------------------------------ // Constants // ------------------------------------------------------------------------ + + private static final Charset ASCII_CHARSET = Charset.forName("ASCII"); //$NON-NLS-1$ + private static final String TEXT_ONLY_METADATA_HEADER_PREFIX = "/* CTF"; //$NON-NLS-1$ private static final int PREVALIDATION_SIZE = 8; @@ -155,7 +158,7 @@ public class Metadata { try (FileInputStream fis = new FileInputStream(getMetadataPath()); FileChannel metadataFileChannel = fis.getChannel(); /* Check if metadata is packet-based, if not it is text based */ - Reader metadataTextInput = (isPacketBased(metadataFileChannel) ? readBinaryMetaData(metadataFileChannel) : new FileReader(getMetadataPath()));) { + Reader metadataTextInput = (isPacketBased(metadataFileChannel) ? readBinaryMetaData(metadataFileChannel) : new FileReader(fis.getFD()));) { readMetaDataText(metadataTextInput); @@ -221,10 +224,9 @@ public class Metadata { return true; } bb.position(0); - Charset forName = Charset.forName("ASCII"); //$NON-NLS-1$ byte bytes[] = new byte[PREVALIDATION_SIZE]; bb.get(bytes); - String text = new String(bytes, forName); + String text = new String(bytes, ASCII_CHARSET); return text.startsWith(TEXT_ONLY_METADATA_HEADER_PREFIX); } catch (IOException e) { throw new CTFException(e.getMessage(), e); @@ -442,7 +444,7 @@ public class Metadata { payloadByteBuffer.get(payloadByteArray, 0, payloadSize); /* Convert the byte array to a String */ - String str = new String(payloadByteArray, 0, payloadSize); + String str = new String(payloadByteArray, 0, payloadSize, ASCII_CHARSET); /* Append it to the existing metadata */ metadataText.append(str);