public abstract class Writer
extends Object
implements Appendable, Closeable, Flushable
java.lang.Object | |
↳ | java.io.Writer |
Known Direct Subclasses |
Known Indirect Subclasses |
用于写入字符流的抽象类。 子类必须实现的唯一方法是write(char [],int,int),flush()和close()。 但是,大多数子类会覆盖此处定义的一些方法,以提供更高的效率,更多的功能或两者。
也可以看看:
Fields |
|
---|---|
protected Object |
lock 用于同步此流上的操作的对象。 |
Protected constructors |
|
---|---|
Writer() 创建一个新的字符流编写器,其关键部分将在编写器本身上进行同步。 |
|
Writer(Object lock) 创建一个新的字符流编写器,其关键部分将在给定对象上同步。 |
Public methods |
|
---|---|
Writer |
append(char c) 将指定的字符附加到此作者。 |
Writer |
append(CharSequence csq, int start, int end) 将指定字符序列的子序列附加到此作者。 |
Writer |
append(CharSequence csq) 将指定的字符序列追加到此作者。 |
abstract void |
close() 关闭小溪,首先冲洗它。 |
abstract void |
flush() 刷新流。 |
void |
write(String str) 写入一个字符串。 |
void |
write(int c) 写一个字符。 |
void |
write(String str, int off, int len) 写入一部分字符串。 |
abstract void |
write(char[] cbuf, int off, int len) 写入一个字符数组的一部分。 |
void |
write(char[] cbuf) 写入一个字符数组。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.Appendable
|
|
From interface java.io.Closeable
|
|
From interface java.io.Flushable
|
|
From interface java.lang.AutoCloseable
|
Object lock
用于同步此流上的操作的对象。 为了提高效率,字符流对象可以使用除自身以外的对象来保护关键部分。 因此子类应使用该字段中的对象而不是this或同步方法。
Writer (Object lock)
创建一个新的字符流编写器,其关键部分将在给定对象上同步。
Parameters | |
---|---|
lock |
Object : Object to synchronize on |
Writer append (char c)
将指定的字符附加到此作者。
调用表单 out.append(c)的这种方法的行为与调用完全相同
out.write(c)
Parameters | |
---|---|
c |
char : The 16-bit character to append |
Returns | |
---|---|
Writer |
This writer |
Throws | |
---|---|
IOException |
If an I/O error occurs |
Writer append (CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此作者。 Appendable 。
形式的这种方法的调用时 out.append(csq, start, end) csq是完全相同的方式调用不 null的行为
out.write(csq.subSequence(start, end).toString())
Parameters | |
---|---|
csq |
CharSequence : The character sequence from which a subsequence will be appended. If csq is null, then characters will be appended as if csq contained the four characters "null". |
start |
int : The index of the first character in the subsequence |
end |
int : The index of the character following the last character in the subsequence |
Returns | |
---|---|
Writer |
This writer |
Throws | |
---|---|
IndexOutOfBoundsException |
If start or end are negative, start is greater than end, or end is greater than csq.length() |
IOException |
If an I/O error occurs |
Writer append (CharSequence csq)
将指定的字符序列追加到此作者。
表单 out.append(csq)的这种方法的调用的行为与调用完全相同
out.write(csq.toString())
取决于toString字符序列csq本说明书中,整个序列可以不追加。 例如,调用字符缓冲区的toString方法将返回一个子序列,其内容取决于缓冲区的位置和限制。
Parameters | |
---|---|
csq |
CharSequence : The character sequence to append. If csq is null, then the four characters "null" are appended to this writer. |
Returns | |
---|---|
Writer |
This writer |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void close ()
关闭小溪,首先冲洗它。 一旦流被关闭,进一步的write()或flush()调用将导致抛出IOException异常。 关闭以前关闭的流不起作用。
Throws | |
---|---|
IOException |
If an I/O error occurs |
void flush ()
刷新流。 如果流已将任何write()方法中的任何字符保存在缓冲区中,请立即将其写入其预定目标。 然后,如果该目标是另一个字符或字节流,请将其刷新。 因此,一个flush()调用将刷新Writers和OutputStreams链中的所有缓冲区。
如果此流的预期目标是底层操作系统提供的抽象(例如文件),则刷新流只能确保先前写入流的字节传递到操作系统进行写入; 它并不保证它们实际写入物理设备(如磁盘驱动器)。
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (String str)
写入一个字符串。
Parameters | |
---|---|
str |
String : String to be written |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (int c)
写一个字符。 要写入的字符包含在给定整数值的16个低位中; 16位高位被忽略。
打算支持高效单字符输出的子类应该重写此方法。
Parameters | |
---|---|
c |
int : int specifying a character to be written |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (String str, int off, int len)
写入一部分字符串。
Parameters | |
---|---|
str |
String : A String |
off |
int : Offset from which to start writing characters |
len |
int : Number of characters to write |
Throws | |
---|---|
IndexOutOfBoundsException |
If off is negative, or len is negative, or off+len is negative or greater than the length of the given string |
IOException |
If an I/O error occurs |
void write (char[] cbuf, int off, int len)
写入一个字符数组的一部分。
Parameters | |
---|---|
cbuf |
char : Array of characters |
off |
int : Offset from which to start writing characters |
len |
int : Number of characters to write |
Throws | |
---|---|
IOException |
If an I/O error occurs |
void write (char[] cbuf)
写入一个字符数组。
Parameters | |
---|---|
cbuf |
char : Array of characters to be written |
Throws | |
---|---|
IOException |
If an I/O error occurs |