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