Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Fields](https://developer.android.com/reference/java/io/PipedWriter#inhfields) \| [Ctors](https://developer.android.com/reference/java/io/PipedWriter#pubctors) \| [Methods](https://developer.android.com/reference/java/io/PipedWriter#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/io/PipedWriter#inhmethods)

# PipedWriter

` public class PipedWriter `   
` ` ` extends https://developer.android.com/reference/java/io/Writer ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.io.Writer](https://developer.android.com/reference/java/io/Writer) ||
|   | ↳ | java.io.PipedWriter |

<br />

*** ** * ** ***

Piped character-output streams.

## Summary

### Inherited fields

From class `https://developer.android.com/reference/java/io/Writer` ` protected https://developer.android.com/reference/java/lang/Object` `https://developer.android.com/reference/java/io/Writer#lock`

The object used to synchronize operations on this stream.

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/io/PipedWriter#PipedWriter()() ` Creates a piped writer that is not yet connected to a piped reader. |
| ` https://developer.android.com/reference/java/io/PipedWriter#PipedWriter(java.io.PipedReader)(https://developer.android.com/reference/java/io/PipedReader snk) ` Creates a piped writer connected to the specified piped reader. |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/java/io/PipedWriter#close()() ` Closes this piped output stream and releases any system resources associated with this stream. |
| ` void` | ` https://developer.android.com/reference/java/io/PipedWriter#connect(java.io.PipedReader)(https://developer.android.com/reference/java/io/PipedReader snk) ` Connects this piped writer to a receiver. |
| ` void` | ` https://developer.android.com/reference/java/io/PipedWriter#flush()() ` Flushes this output stream and forces any buffered output characters to be written out. |
| ` void` | ` https://developer.android.com/reference/java/io/PipedWriter#write(int)(int c) ` Writes the specified `char` to the piped output stream. |
| ` void` | ` https://developer.android.com/reference/java/io/PipedWriter#write(char[],%20int,%20int)(char[] cbuf, int off, int len) ` Writes `len` characters from the specified character array starting at offset `off` to this piped output stream. |

### Inherited methods

From class ` https://developer.android.com/reference/java/io/Writer ` ` https://developer.android.com/reference/java/io/Writer` ` https://developer.android.com/reference/java/io/Writer#append(char)(char c) `

Appends the specified character to this writer.
` https://developer.android.com/reference/java/io/Writer` ` https://developer.android.com/reference/java/io/Writer#append(java.lang.CharSequence,%20int,%20int)(https://developer.android.com/reference/java/lang/CharSequence csq, int start, int end) `

Appends a subsequence of the specified character sequence to this writer.
` https://developer.android.com/reference/java/io/Writer` ` https://developer.android.com/reference/java/io/Writer#append(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence csq) `

Appends the specified character sequence to this writer.
` abstract void` ` https://developer.android.com/reference/java/io/Writer#close()() `

Closes the stream, flushing it first.
` abstract void` ` https://developer.android.com/reference/java/io/Writer#flush()() `

Flushes the stream.
` static https://developer.android.com/reference/java/io/Writer` ` https://developer.android.com/reference/java/io/Writer#nullWriter()() `

Returns a new `Writer` which discards all characters.
` void` ` https://developer.android.com/reference/java/io/Writer#write(java.lang.String)(https://developer.android.com/reference/java/lang/String str) `

Writes a string.
` void` ` https://developer.android.com/reference/java/io/Writer#write(int)(int c) `

Writes a single character.
` void` ` https://developer.android.com/reference/java/io/Writer#write(java.lang.String,%20int,%20int)(https://developer.android.com/reference/java/lang/String str, int off, int len) `

Writes a portion of a string.
` abstract void` ` https://developer.android.com/reference/java/io/Writer#write(char[],%20int,%20int)(char[] cbuf, int off, int len) `

Writes a portion of an array of characters.
` void` ` https://developer.android.com/reference/java/io/Writer#write(char[])(char[] cbuf) `

Writes an array of characters.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/java/lang/Appendable ` ` abstract https://developer.android.com/reference/java/lang/Appendable` ` https://developer.android.com/reference/java/lang/Appendable#append(char)(char c) `

Appends the specified character to this `Appendable`.
` abstract https://developer.android.com/reference/java/lang/Appendable` ` https://developer.android.com/reference/java/lang/Appendable#append(java.lang.CharSequence,%20int,%20int)(https://developer.android.com/reference/java/lang/CharSequence csq, int start, int end) `

Appends a subsequence of the specified character sequence to this `Appendable`.
` abstract https://developer.android.com/reference/java/lang/Appendable` ` https://developer.android.com/reference/java/lang/Appendable#append(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence csq) `

Appends the specified character sequence to this `Appendable`.
From interface ` https://developer.android.com/reference/java/io/Closeable ` ` abstract void` ` https://developer.android.com/reference/java/io/Closeable#close()() `

Closes this stream and releases any system resources associated with it.
From interface ` https://developer.android.com/reference/java/io/Flushable ` ` abstract void` ` https://developer.android.com/reference/java/io/Flushable#flush()() `

Flushes this stream by writing any buffered output to the underlying stream.
From interface ` https://developer.android.com/reference/java/lang/AutoCloseable ` ` abstract void` ` https://developer.android.com/reference/java/lang/AutoCloseable#close()() `

Closes this resource, relinquishing any underlying resources.

## Public constructors

### PipedWriter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PipedWriter ()
```

Creates a piped writer that is not yet connected to a piped reader. It must be connected to a piped reader, either by the receiver or the sender, before being used.

<br />

**See also:**

- `https://developer.android.com/reference/java/io/PipedReader#connect(java.io.PipedWriter)`
- `https://developer.android.com/reference/java/io/PipedWriter#connect(java.io.PipedReader)`

### PipedWriter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PipedWriter (PipedReader snk)
```

Creates a piped writer connected to the specified piped reader. Data characters written to this stream will then be available as input from `snk`.

<br />

| Parameters ||
|---|---|
| `snk` | `PipedReader`: The piped reader to connect to. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if an I/O error occurs. |

## Public methods

### close

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void close ()
```

Closes this piped output stream and releases any system resources associated with this stream. This stream may no longer be used for writing characters.

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if an I/O error occurs. |

### connect

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void connect (PipedReader snk)
```

Connects this piped writer to a receiver. If this object is already connected to some other piped reader, an `IOException` is thrown.

If `snk` is an unconnected piped reader and `src` is an unconnected piped writer, they may be connected by either the call:
>
> ```
> src.connect(snk)
> ```
or the call:
>
> ```
> snk.connect(src)
> ```
The two calls have the same effect.

<br />

<br />

| Parameters ||
|---|---|
| `snk` | `PipedReader`: the piped reader to connect to. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if an I/O error occurs. |

### flush

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void flush ()
```

Flushes this output stream and forces any buffered output characters to be written out. This will notify any readers that characters are waiting in the pipe.

<br />

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if the pipe is closed, or an I/O error occurs. |

### write

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void write (int c)
```

Writes the specified `char` to the piped output stream. If a thread was reading data characters from the connected piped input stream, but the thread is no longer alive, then an `IOException` is thrown.

Implements the `write` method of `Writer`.

<br />

| Parameters ||
|---|---|
| `c` | `int`: the `char` to be written. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if the pipe is [`broken`](https://developer.android.com/reference/java/io/PipedOutputStream#BROKEN), `https://developer.android.com/reference/java/io/PipedWriter#connect(java.io.PipedReader)`, closed or an I/O error occurs. |

### write

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void write (char[] cbuf, 
                int off, 
                int len)
```

Writes `len` characters from the specified character array starting at offset `off` to this piped output stream. This method blocks until all the characters are written to the output stream. If a thread was reading data characters from the connected piped input stream, but the thread is no longer alive, then an `IOException` is thrown.

<br />

| Parameters ||
|---|---|
| `cbuf` | `char`: the data. <br /> |
| `off` | `int`: the start offset in the data. <br /> |
| `len` | `int`: the number of characters to write. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if the pipe is [`broken`](https://developer.android.com/reference/java/io/PipedOutputStream#BROKEN), `https://developer.android.com/reference/java/io/PipedWriter#connect(java.io.PipedReader)`, closed or an I/O error occurs. |
| `https://developer.android.com/reference/java/lang/IndexOutOfBoundsException` | If `off` is negative, or `len` is negative, or `off + len` is negative or greater than the length of the given array |