If all other means to obtain the file length fail, fall back to FindFirstFile Reviewed-by: igerasim, alanb
Cached user.dir so getCanonicalPath uses the cached value. Reviewed-by: alanb, bpb, rriggs
Reviewed-by: darcy, ihse