Repository: camel Updated Branches: refs/heads/master 0c3017b6b -> 23840df83
creating a string without copying a byte array Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/23840df8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/23840df8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/23840df8 Branch: refs/heads/master Commit: 23840df83443628d4f3adbf2c3a5bcb34de434c9 Parents: 0c3017b Author: Akitoshi Yoshida <a...@apache.org> Authored: Thu Jun 12 22:02:54 2014 +0200 Committer: Akitoshi Yoshida <a...@apache.org> Committed: Thu Jun 12 22:05:04 2014 +0200 ---------------------------------------------------------------------- .../org/apache/camel/support/RecordableInputStream.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/23840df8/camel-core/src/main/java/org/apache/camel/support/RecordableInputStream.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/support/RecordableInputStream.java b/camel-core/src/main/java/org/apache/camel/support/RecordableInputStream.java index 8ae29e6..c69cd3c 100644 --- a/camel-core/src/main/java/org/apache/camel/support/RecordableInputStream.java +++ b/camel-core/src/main/java/org/apache/camel/support/RecordableInputStream.java @@ -58,16 +58,16 @@ class RecordableInputStream extends FilterInputStream { public String getText(int pos) { String t = null; recording = false; - final byte[] ba = buf.toByteArray(pos); - buf.trim(pos, 0); try { if (charset == null) { - t = new String(ba); + t = new String(buf.getByteArray(), 0, pos); } else { - t = new String(ba, charset); + t = new String(buf.getByteArray(), 0, pos, charset); } } catch (UnsupportedEncodingException e) { // ignore it as this encoding exception should have been caught earlier while scanning. + } finally { + buf.trim(pos, 0); } return t; @@ -99,6 +99,10 @@ class RecordableInputStream extends FilterInputStream { System.arraycopy(buf, 0, b, 0, len); return b; } + + byte[] getByteArray() { + return buf; + } } }