Learn R Programming

RCurl (version 1.98-1.16)

CFILE: Create a C-level handle for a file

Description

This function and class allow us to work with C-level FILE handles. The intent is to be able to pass these to libcurl as options so that it can read or write from or to the file. We can also do this with R connections and specify callback functions that manipulate these connections. But using the C-level FILE handle is likely to be significantly faster for large files.

The close method allows us to explicitly flush and close the file from within R.

Usage

CFILE(filename, mode = "r")

Value

An object of class CFILE which is has a single slot name ref which is an external pointer holding the address of the FILE object in C.

Arguments

filename

the name of the file on disk

mode

a string specifying how to open the file, read or write, text or binary.

Author

Duncan Temple Lang

Details

This is a simple interface to the C routine fopen.

References

Man page for fopen

See Also

curlPerform and the readdata

Examples

Run this code
if (FALSE) {
filename = system.file("tests", "amazon3.R", package = "RCurl")
f = CFILE(filename)

if(url.exists('http://s3.amazonaws.com/'))
  curlPerform(url = "http://s3.amazonaws.com/RRupload/duncan2",
              upload = TRUE,
              readdata = f@ref,
              infilesize = file.info(filename)[1, "size"])
}

Run the code above in your browser using DataLab