做代码工具,需要对行进行计数或者判断。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;
    }