char[] (char[] buffer) { int dst = 0; char prev = ' '; for (char c : buffer) { switch (c) { case'\r': buffer[dst++] = '\n'; break; case'\n': if (prev != '\r') { buffer[dst++] = '\n'; } break; default: buffer[dst++] = c; break; } prev = c; } if (dst == buffer.length) return buffer; return Arrays.copyOf(buffer, dst); }