<!--
{
  "availability" : [
    "iOS: 13.4.0 -",
    "iPadOS: 13.4.0 -",
    "macCatalyst: 13.4.0 -",
    "macOS: 10.15.4 -",
    "tvOS: 13.4.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/FileHandle/write(contentsOf:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "s:So12NSFileHandleC10FoundationE5write10contentsOfyx_tKAC12DataProtocolRzlF"
  },
  "title" : "write(contentsOf:)"
}
-->

# write(contentsOf:)

Writes the specified data synchronously to the file handle.

```
func write<T>(contentsOf data: T) throws where T : DataProtocol
```

## Parameters

`data`

The data to write to the file handle.

## Discussion

If the handle represents a file, writing takes place at the file pointer’s current position. After it writes the data, the method advances the file pointer by the number of bytes written. This method throws an error if the file descriptor is closed or isn’t valid, if the handle represents an unconnected pipe or socket endpoint, if there isn’t any free space on the file system, or if any other writing error occurs.

## See Also

[`availableData`](/documentation/Foundation/FileHandle/availableData)

The data currently available in the receiver.

[`read(upToCount:)`](/documentation/Foundation/FileHandle/read(upToCount:))

Reads data synchronously up to the specified number of bytes.

[`readToEnd()`](/documentation/Foundation/FileHandle/readToEnd())

Reads the available data synchronously up to the end of file or maximum number of bytes.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)