in commons-geometry-io-core/src/main/java/org/apache/commons/geometry/io/core/internal/CharReadBuffer.java [222:246]
public String peekString(final int len) {
if (len < 0) {
throw new IllegalArgumentException("Requested string length cannot be negative; was " + len);
} else if (len == 0) {
return hasMoreCharacters() ?
"" :
null;
}
final int available = makeAvailable(len);
final int resultLen = Math.min(len, available);
if (resultLen < 1) {
return null;
}
final int contiguous = Math.min(buffer.length - head, resultLen);
final int remaining = resultLen - contiguous;
String result = String.valueOf(buffer, head, contiguous);
if (remaining > 0) {
result += String.valueOf(buffer, 0, remaining);
}
return result;
}