---
title: "init(filename:)"
framework: coregraphics
role: symbol
role_heading: Initializer
path: "coregraphics/cgdataprovider/init(filename:)"
---

# init(filename:)

Creates a direct-access data provider that uses a file to supply data.

## Declaration

```swift
init?(filename: UnsafePointer<CChar>)
```

## Parameters

- `filename`: The full or relative pathname to use for the data provider. When you supply Core Graphics data via the provider, it reads the data from the specified file.

## Return Value

Return Value A new data provider or NULL if the file could not be opened. In Objective-C, you’re responsible for releasing this object using CGDataProviderRelease.

## Discussion

Discussion You use this function to create a direct-access data provider that supplies data from a file. When you supply Core Graphics with a direct-access data provider, Core Graphics obtains data from your program in a single block.

## See Also

### Creating Direct-Access Data Providers

- [init(directInfo:size:callbacks:)](coregraphics/cgdataprovider/init(directinfo:size:callbacks:).md)
- [init(data:)](coregraphics/cgdataprovider/init(data:).md)
- [init(url:)](coregraphics/cgdataprovider/init(url:).md)
- [init(dataInfo:data:size:releaseData:)](coregraphics/cgdataprovider/init(datainfo:data:size:releasedata:).md)
- [CGDataProviderDirectCallbacks](coregraphics/cgdataproviderdirectcallbacks.md)
- [CGDataProviderGetBytePointerCallback](coregraphics/cgdataprovidergetbytepointercallback.md)
- [CGDataProviderGetBytesAtPositionCallback](coregraphics/cgdataprovidergetbytesatpositioncallback.md)
- [CGDataProviderReleaseBytePointerCallback](coregraphics/cgdataproviderreleasebytepointercallback.md)
- [CGDataProviderReleaseInfoCallback](coregraphics/cgdataproviderreleaseinfocallback.md)
- [CGDataProviderReleaseDataCallback](coregraphics/cgdataproviderreleasedatacallback.md)
