use (very) small buffer size to have >1block read
use FileChannel & clear buffer only when required