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 yettmp <- tempfile()writer <- file_writer(tmp)# Now it openswriter(charToRaw("Hello!\n"))writer(charToRaw("How are you?\n"))# Close it!writer(charToRaw("All done!\n"), close =TRUE)# Check it workedreadLines(tmp)