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

file_writer(path)

Arguments

path

file name or path on disk

Value

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().

Examples

# Doesn't open yet tmp <- tempfile() writer <- file_writer(tmp) # Now it opens writer(charToRaw("Hello!\n"))
#> [1] 7
writer(charToRaw("How are you?\n"))
#> [1] 13
# Close it! writer(charToRaw("All done!\n"), close = TRUE)
#> [1] 10
# Check it worked readLines(tmp)
#> [1] "Hello!" "How are you?" "All done!"