Cross platform file utils