rawConnection {base} | R Documentation

## Raw Connections

### Description

Input and output raw connections.

### Usage

    rawConnection(object, open = "r")

    rawConnectionValue(con)

### Arguments

`object` | character or raw vector. A description of the connection. For an input this is an R raw vector object, and for an output connection the name for the connection.
`open` | character. Any of the standard connection open modes.
`con` | An output raw connection.

### Details

An input raw connection is opened and the raw vector is copied at the time the connection object is created, and `close` destroys the copy.

An output raw connection is opened and creates an R raw vector internally. The raw vector can be retrieved via `rawConnectionValue`.

If a connection is open for both input and output the initial raw vector supplied is copied when the connections is open

### Value

For `rawConnection`, a connection object of class `"rawConnection"` which inherits from class `"connection"`.

For `rawConnectionValue`, a raw vector.

### Note

As output raw connections keep the internal raw vector up to date call-by-call, they are relatively expensive to use (although over-allocation is used), and it may be better to use an anonymous `file()` connection to collect output.

On (rare) platforms where `vsnprintf` does not return the needed length of output there is a 100,000 character limit on the length of line for output connections: longer lines will be truncated with a warning.

### See Also

`connections`, `showConnections`.

### Examples

    zz <- rawConnection(raw(0), "r+") # start with empty raw vector
    writeBin(LETTERS, zz)
    seek(zz, 0)
    readLines(zz) # raw vector has embedded nuls
    seek(zz, 0)
    writeBin(letters[1:3], zz)
    rawConnectionValue(zz)
    close(zz)

[Package base version 3.4.3 Index]