public class SocketOutputStream extends OutputStream implements WritableByteChannel
Socket.getInputStream()
and write() on
Socket.getOutputStream()
on the associated socket will throw
llegalBlockingModeException.
Please use SocketInputStream
for reading.构造器和说明 |
---|
SocketOutputStream(Socket socket,
long timeout)
Same as SocketOutputStream(socket.getChannel(), timeout):
Create a new ouput stream with the given timeout. |
SocketOutputStream(WritableByteChannel channel,
long timeout)
Create a new ouput stream with the given timeout.
|
限定符和类型 | 方法和说明 |
---|---|
void |
close() |
WritableByteChannel |
getChannel()
Returns underlying channel used by this stream.
|
boolean |
isOpen() |
void |
transferToFully(FileChannel fileCh,
long position,
int count)
Transfers data from FileChannel using
FileChannel.transferTo(long, long, WritableByteChannel) . |
void |
waitForWritable()
waits for the underlying channel to be ready for writing.
|
void |
write(byte[] b,
int off,
int len) |
int |
write(ByteBuffer src) |
void |
write(int b) |
flush, write
public SocketOutputStream(WritableByteChannel channel, long timeout) throws IOException
channel
- Channel for writing, should also be a SelectableChannel
.
The channel will be configured to be non-blocking.timeout
- timeout in milliseconds. must not be negative.IOException
public SocketOutputStream(Socket socket, long timeout) throws IOException
socket
- should have a channel associated with it.timeout
- timeout timeout in milliseconds. must not be negative.IOException
SocketOutputStream(WritableByteChannel, long)
public void write(int b) throws IOException
write
在类中 OutputStream
IOException
public void write(byte[] b, int off, int len) throws IOException
write
在类中 OutputStream
IOException
public void close() throws IOException
close
在接口中 Closeable
close
在接口中 AutoCloseable
close
在接口中 Channel
close
在类中 OutputStream
IOException
public WritableByteChannel getChannel()
FileChannel.transferTo(long, long, WritableByteChannel)
public int write(ByteBuffer src) throws IOException
write
在接口中 WritableByteChannel
IOException
public void waitForWritable() throws IOException
SocketTimeoutException
- if select on the channel times out.IOException
- if any other I/O error occurs.public void transferToFully(FileChannel fileCh, long position, int count) throws IOException
FileChannel.transferTo(long, long, WritableByteChannel)
.
Similar to readFully(), this waits till requested amount of
data is transfered.fileCh
- FileChannel to transfer data from.position
- position within the channel where the transfer beginscount
- number of bytes to transfer.EOFException
- If end of input file is reached before requested number of
bytes are transfered.SocketTimeoutException
- If this channel blocks transfer longer than timeout for
this stream.IOException
- Includes any exception thrown by
FileChannel.transferTo(long, long, WritableByteChannel)
.Copyright © 2009 The Apache Software Foundation