Future<String> readAsString(AssetId id, {Encoding encoding = utf8}) => _resolve(id)?.readAsString(encoding: encoding) ?? (throw AssetNotFoundException(id));