做代码工具,需要对行进行计数或者判断。WINDOWS/LINUX是不一样的,怎样正确处理?吾代码如下:
private int isLine(final int pos) { // WINDOWS换行 if (textBuffer[pos] == '\r') { return (textBuffer[pos+1] == '\n') ? 2 : 1; } // LINUX换行 if (textBuffer[pos] == '\n') { //避免重复计数。 if (pos > 0 && textBuffer[pos-1] == '\r') { return 0; } return 1; } return 0; }