public final class CharacterUtils extends Object
Modifier and Type | Class and Description |
---|---|
static class |
CharacterUtils.CharacterBuffer
A simple IO buffer to use with
fill(CharacterBuffer, Reader) . |
Modifier and Type | Method and Description |
---|---|
static boolean |
fill(CharacterUtils.CharacterBuffer buffer,
Reader reader)
Convenience method which calls
fill(buffer, reader, buffer.buffer.length) . |
static boolean |
fill(CharacterUtils.CharacterBuffer buffer,
Reader reader,
int numChars)
Fills the
CharacterUtils.CharacterBuffer with characters read from the given
reader Reader . |
static CharacterUtils.CharacterBuffer |
newCharacterBuffer(int bufferSize)
Creates a new
CharacterUtils.CharacterBuffer and allocates a char[]
of the given bufferSize. |
static int |
toChars(int[] src,
int srcOff,
int srcLen,
char[] dest,
int destOff)
Converts a sequence of unicode code points to a sequence of Java characters.
|
static int |
toCodePoints(char[] src,
int srcOff,
int srcLen,
int[] dest,
int destOff)
Converts a sequence of Java characters to a sequence of unicode code points.
|
static void |
toLowerCase(char[] buffer,
int offset,
int limit)
Converts each unicode codepoint to lowerCase via
Character.toLowerCase(int) starting
at the given offset. |
static void |
toUpperCase(char[] buffer,
int offset,
int limit)
Converts each unicode codepoint to UpperCase via
Character.toUpperCase(int) starting
at the given offset. |
public static CharacterUtils.CharacterBuffer newCharacterBuffer(int bufferSize)
CharacterUtils.CharacterBuffer
and allocates a char[]
of the given bufferSize.bufferSize
- the internal char buffer size, must be >= 2
CharacterUtils.CharacterBuffer
instance.public static void toLowerCase(char[] buffer, int offset, int limit)
Character.toLowerCase(int)
starting
at the given offset.buffer
- the char buffer to lowercaseoffset
- the offset to start atlimit
- the max char in the buffer to lower casepublic static void toUpperCase(char[] buffer, int offset, int limit)
Character.toUpperCase(int)
starting
at the given offset.buffer
- the char buffer to UPPERCASEoffset
- the offset to start atlimit
- the max char in the buffer to lower casepublic static int toCodePoints(char[] src, int srcOff, int srcLen, int[] dest, int destOff)
public static int toChars(int[] src, int srcOff, int srcLen, char[] dest, int destOff)
public static boolean fill(CharacterUtils.CharacterBuffer buffer, Reader reader, int numChars) throws IOException
CharacterUtils.CharacterBuffer
with characters read from the given
reader Reader
. This method tries to read numChars
characters into the CharacterUtils.CharacterBuffer
, each call to fill will start
filling the buffer from offset 0
up to numChars
.
In case code points can span across 2 java characters, this method may
only fill numChars - 1
characters in order not to split in
the middle of a surrogate pair, even if there are remaining characters in
the Reader
.
This method guarantees
that the given CharacterUtils.CharacterBuffer
will never contain a high surrogate
character as the last element in the buffer unless it is the last available
character in the reader. In other words, high and low surrogate pairs will
always be preserved across buffer boarders.
A return value of false
means that this method call exhausted
the reader, but there may be some bytes which have been read, which can be
verified by checking whether buffer.getLength() > 0
.
buffer
- the buffer to fill.reader
- the reader to read characters from.numChars
- the number of chars to readfalse
if and only if reader.read returned -1 while trying to fill the bufferIOException
- if the reader throws an IOException
.public static boolean fill(CharacterUtils.CharacterBuffer buffer, Reader reader) throws IOException
fill(buffer, reader, buffer.buffer.length)
.IOException
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.