All file IO is handled by QIODevice