file_writer function

Lazy File Writer

Lazy File Writer

Generates a closure that writes binary (raw) data to a file.

file_writer(path, append = FALSE)

Arguments

  • path: file name or path on disk
  • append: open file in append mode

Returns

Function with signature writer(data = raw(), close = FALSE)

Details

The writer function automatically opens the file on the first write and closes when it goes out of scope, or explicitly by setting close = TRUE. This can be used for the data callback in multi_add() or curl_fetch_multi() such that we only keep open file handles for active downloads. This prevents running out of file descriptors when performing thousands of concurrent requests.

Examples

# Doesn't open yet tmp <- tempfile() writer <- file_writer(tmp) # Now it opens writer(charToRaw("Hello!\n")) writer(charToRaw("How are you?\n")) # Close it! writer(charToRaw("All done!\n"), close = TRUE) # Check it worked readLines(tmp)
  • Maintainer: Jeroen Ooms
  • License: MIT + file LICENSE
  • Last published: 2025-03-24