e chi ti dice che gli ultimi 3 caratteri non siano caratteri non-visibili?
Per esempio, se usi windows e hai il carattere di ritorno a capo, che è due caratteri \r\n, più il terminatore di riga....
io consiglierei di ciclare, dall'ultimo carattere, fino a quando non trova 2 caratteri visibili, o arriva all'inzio del file