O que significa estar na última linha? Isso significa que não há linhas depois dessa, então uma estratégia seria verificar se há outra linha após a atual dentro do loop. Se você não está na última linha, senão você está no meio.
Outra técnica seria manter a linha em uma variável com escopo fora do loop e, quando o loop terminar, a variável conterá a última linha. Isso tem a desvantagem de tornar o cálculo do meio incorreto, mas você provavelmente encontrará uma maneira de contornar isso.