public class PrintWriter extends Writer
PrintStream
。
它不包含用于编写原始字节的方法,程序应使用未编码的字节流。
不像PrintStream
类,如果启用自动刷新,它只会在调用的println,printf,或format方法来完成,而不是当一个换行符恰好是输出。 这些方法使用平台自己的行分隔符而不是换行符。
这个类中的方法不会抛出I / O异常,尽管它的一些构造函数可能。 客户可以通过调用checkError()
查询是否发生错误。
Modifier and Type | Field and Description |
---|---|
protected Writer |
out
本的基础字符输出流
PrintWriter 。
|
Constructor and Description |
---|
PrintWriter(File file)
使用指定的文件创建一个新的PrintWriter,而不需要自动的线路刷新。
|
PrintWriter(File file, String csn)
使用指定的文件和字符集创建一个新的PrintWriter,而不需要自动进行线条刷新。
|
PrintWriter(OutputStream out)
从现有的OutputStream创建一个新的PrintWriter,而不需要自动线路刷新。
|
PrintWriter(OutputStream out, boolean autoFlush)
从现有的OutputStream创建一个新的PrintWriter。
|
PrintWriter(String fileName)
使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。
|
PrintWriter(String fileName, String csn)
使用指定的文件名和字符集创建一个新的PrintWriter,而不需要自动线路刷新。
|
PrintWriter(Writer out)
创建一个新的PrintWriter,没有自动线冲洗。
|
PrintWriter(Writer out, boolean autoFlush)
创建一个新的PrintWriter。
|
Modifier and Type | Method and Description |
---|---|
PrintWriter |
append(char c)
将指定的字符附加到此作者。
|
PrintWriter |
append(CharSequence csq)
将指定的字符序列附加到此作者。
|
PrintWriter |
append(CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此作者。
|
boolean |
checkError()
如果流未关闭,请刷新流并检查其错误状态。
|
protected void |
clearError()
清除此流的错误状态。
|
void |
close()
关闭流并释放与之相关联的任何系统资源。
|
void |
flush()
刷新流。
|
PrintWriter |
format(Locale l, String format, Object... args)
使用指定的格式字符串和参数将格式化的字符串写入此写入程序。
|
PrintWriter |
format(String format, Object... args)
使用指定的格式字符串和参数将格式化的字符串写入此写入程序。
|
void |
print(boolean b)
打印布尔值。
|
void |
print(char c)
打印一个字符
|
void |
print(char[] s)
打印字符数组。
|
void |
print(double d)
打印双精度浮点数。
|
void |
print(float f)
打印浮点数。
|
void |
print(int i)
打印一个整数。
|
void |
print(long l)
打印一个长整数。
|
void |
print(Object obj)
打印一个对象。
|
void |
print(String s)
打印字符串。
|
PrintWriter |
printf(Locale l, String format, Object... args)
使用指定的格式字符串和参数将格式化的字符串写入该writer的方便方法。
|
PrintWriter |
printf(String format, Object... args)
使用指定的格式字符串和参数将格式化的字符串写入该writer的方便方法。
|
void |
println()
通过写入行分隔符字符串来终止当前行。
|
void |
println(boolean x)
打印一个布尔值,然后终止该行。
|
void |
println(char x)
打印一个字符,然后终止该行。
|
void |
println(char[] x)
打印字符数组,然后终止行。
|
void |
println(double x)
打印双精度浮点数,然后终止行。
|
void |
println(float x)
打印一个浮点数,然后终止该行。
|
void |
println(int x)
打印一个整数,然后终止该行。
|
void |
println(long x)
打印一个长整型,然后终止行。
|
void |
println(Object x)
打印一个对象,然后终止该行。
|
void |
println(String x)
打印一个字符串,然后终止行。
|
protected void |
setError()
表示发生错误。
|
void |
write(char[] buf)
写入一个字符数组。
|
void |
write(char[] buf, int off, int len)
写一个字符数组的一部分。
|
void |
write(int c)
写一个字符
|
void |
write(String s)
写一个字符串
|
void |
write(String s, int off, int len)
写一个字符串的一部分。
|
protected Writer out
PrintWriter
。
public PrintWriter(Writer out)
out
- 字符输出流
public PrintWriter(Writer out, boolean autoFlush)
out
- 字符输出流
autoFlush
- 一个布尔值
如果为真,则println,printf,或format方法将刷新输出缓冲区
public PrintWriter(OutputStream out)
out
- 输出流
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
public PrintWriter(OutputStream out, boolean autoFlush)
out
- 输出流
autoFlush
- 一个布尔值
如果真的话 , println,printf或format方法将刷新输出缓冲区
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
public PrintWriter(String fileName) throws FileNotFoundException
OutputStreamWriter
,它将使用Java虚拟机的这个实例使用default charset对字符进行编码。
fileName
- 要用作此作者目的地的文件的名称。
如果文件存在,那么它将被截断为零大小;
否则,将创建一个新文件。
输出将被写入文件并进行缓冲。
FileNotFoundException
- 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
SecurityException
- 如果存在安全管理员,并且
checkWrite(fileName)
拒绝对文件的写入访问
public PrintWriter(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter
,它将使用提供的字符集对字符进行编码。
fileName
- 要用作此作者目的地的文件的名称。
如果文件存在,那么它将被截断为零大小;
否则,将创建一个新文件。
输出将被写入文件并进行缓冲。
csn
- 支持的名称charset
FileNotFoundException
- 如果给定的字符串不表示现有的可写的常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
SecurityException
- 如果存在安全管理员,并且
checkWrite(fileName)
拒绝对该文件的写入访问
UnsupportedEncodingException
- 如果不支持命名的字符集
public PrintWriter(File file) throws FileNotFoundException
OutputStreamWriter
,它将使用Java虚拟机的这个实例使用default charset对字符进行编码。
file
- 用作此作者file
的文件。
如果文件存在,那么它将被截断为零大小;
否则,将创建一个新文件。
输出将被写入文件并进行缓冲。
FileNotFoundException
- 如果给定的文件对象不表示现有的可写的常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
SecurityException
- 如果安全管理器存在,并且
checkWrite(file.getPath())
拒绝对该文件的写入访问
public PrintWriter(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter
,它将使用提供的字符集对字符进行编码。
file
- 用作此作者的目的地的文件。
如果文件存在,那么它将被截断为零大小;
否则,将创建一个新文件。
输出将被写入文件并进行缓冲。
csn
- 支持的名称charset
FileNotFoundException
- 如果给定的文件对象不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时出现其他错误
SecurityException
- 如果存在安全管理员,并且
checkWrite(file.getPath())
拒绝对文件的写入访问
UnsupportedEncodingException
- 如果不支持命名的字符集
public void flush()
flush
在界面
Flushable
flush
在
Writer
checkError()
public void close()
close
在界面
Closeable
close
在界面
AutoCloseable
close
在类别
Writer
checkError()
public boolean checkError()
true
如果打印流在底层输出流或格式转换时遇到错误。
protected void setError()
此方法将导致后续调用checkError()
返回true直到clearError()
被调用。
protected void clearError()
此方法将导致后续调用checkError()
返回false ,直到另一个写入操作失败并调用setError()
。
public void write(char[] buf, int off, int len)
public void write(char[] buf)
public void write(String s, int off, int len)
public void write(String s)
public void print(boolean b)
String.valueOf(boolean)
生成的字符串根据平台的默认字符编码被翻译成字节,这些字节的写法完全符合write(int)
方法。
b
- 要打印的
boolean
public void print(char c)
write(int)
方法的方式写入。
c
- 要打印的
char
public void print(int i)
String.valueOf(int)
生成的字符串根据平台的默认字符编码转换为字节,这些字节的写法方式完全符合write(int)
要求。
i
- 要打印的
int
Integer.toString(int)
public void print(long l)
String.valueOf(long)
生成的字符串根据平台的默认字符编码被翻译成字节,这些字节是按照write(int)
的方式写的。
l
- 要打印的
long
Long.toString(long)
public void print(float f)
String.valueOf(float)
生成的字符串根据平台的默认字符编码被翻译成字节,这些字节是按照write(int)
方法的方式编写的。
f
- 要打印的
float
Float.toString(float)
public void print(double d)
String.valueOf(double)
生成的字符串根据平台的默认字符编码被翻译成字节,这些字节是按照write(int)
的方式写的。
d
- 要打印的
double
Double.toString(double)
public void print(char[] s)
write(int)
要求。
s
- 要打印的字符数组
NullPointerException
- 如果
s
是
null
public void print(String s)
s
- 要打印的
String
public void print(Object obj)
String.valueOf(Object)
方法生成的字符串根据平台的默认字符编码转换为字节,这些字节的write(int)
的方式编写。
obj
- 要打印的
Object
Object.toString()
public void println()
line.separator
定义,并不一定是单个换行符( '\n'
)。
public void println(boolean x)
print(boolean)
然后println()
。
x
- 要打印的
boolean
值
public void println(char x)
print(char)
然后println()
。
x
- 要打印的值为
char
public void println(int x)
print(int)
然后println()
。
x
- 要打印的值为
int
public void println(long x)
print(long)
println()
。
x
- 要打印的值为
long
public void println(float x)
print(float)
然后println()
。
x
- 要打印的值为
float
public void println(double x)
print(double)
然后println()
。
x
- 要打印的值为
double
public void println(char[] x)
print(char[])
然后println()
。
x
- 要打印的数值为
char
public void println(String x)
print(String)
然后println()
。
x
- 要打印的
String
值
public void println(Object x)
print(String)
然后println()
。
x
- 要打印的
Object
。
public PrintWriter printf(String format, Object... args)
调用此方法的形式out.printf(format, args)的行为方式与调用完全相同
out.format(format, args)
format
-如在描述的格式字符串
Format string syntax 。
args
- 格式字符串中格式说明符引用的参数。
如果比格式说明符更多的参数,额外的参数将被忽略。
参数的数量是可变的,可能为零。
的参数的最大数量是由一个Java阵列的最大尺寸由The Java™ Virtual Machine Specification所定义的限制。
一个null参数的行为取决于conversion 。
IllegalFormatException
- 如果格式字符串包含非法语法,则与给定参数不兼容的格式说明符,给定格式字符串的参数不足或其他非法条件。
有关所有可能的格式化错误的规范 ,请参阅格式化程序类规范的Details部分。
NullPointerException
- 如果
format是
null
public PrintWriter printf(Locale l, String format, Object... args)
这种out.printf(l, format, args)形式的方法的调用与调用的方式完全相同
out.format(l, format, args)
l
- 格式化期间应用的locale。
如果l是null ,则不应用本地化。
format
- Format string syntax中
描述的格式字符串。
args
- 格式字符串中格式说明符引用的参数。
如果比格式说明符更多的参数,额外的参数将被忽略。
参数的数量是可变的,可能为零。
参数的最大数量受到The Java™ Virtual Machine Specification定义的Java数组的最大维度的限制 。
一个null参数的行为取决于conversion 。
IllegalFormatException
- 如果格式字符串包含非法语法,则与给定参数不兼容的格式说明符,给定格式字符串的参数不足或其他非法条件。
有关所有可能的格式化错误的规范 ,请参阅格式化程序类规范的Details部分。
NullPointerException
- 如果
format是
null
public PrintWriter format(String format, Object... args)
始终使用的区域设置是Locale.getDefault()
返回的区域 ,无论以前在此对象上调用其他格式化方法。
format
- Format string syntax中
描述的格式字符串。
args
- 格式字符串中格式说明符引用的参数。
如果比格式说明符更多的参数,额外的参数将被忽略。
参数的数量是可变的,可能为零。
参数的最大数量受到The Java™ Virtual Machine Specification定义的Java数组的最大维度的限制 。
一个null参数的行为取决于conversion 。
IllegalFormatException
- 如果格式字符串包含非法语法,则与给定参数不兼容的格式说明符,给定格式字符串的参数不足或其他非法条件。
有关所有可能的格式化错误的规范 ,请参阅Formatter类规范的Details部分。
NullPointerException
- 如果
format是
null
public PrintWriter format(Locale l, String format, Object... args)
l
- 格式化期间应用的locale。
如果l是null ,则不应用定位。
format
- Format string syntax中
描述的格式字符串。
args
- 格式字符串中格式说明符引用的参数。
如果比格式说明符更多的参数,额外的参数将被忽略。
参数的数量是可变的,可能为零。
参数的最大数量受限于The Java™ Virtual Machine Specification定义的Java数组的最大维数 。
null参数的行为取决于conversion 。
IllegalFormatException
- 如果格式字符串包含非法语法,与给定参数不兼容的格式说明符,给定格式字符串的参数不足或其他非法条件。
有关所有可能的格式化错误的规范 ,请参阅格式化程序类规范的Details部分。
NullPointerException
- 如果
format是
null
public PrintWriter append(CharSequence csq)
调用此方法的形式out.append(csq)的行为方式与调用完全相同
out.write(csq.toString())
取决于toString字符序列csq本说明书中,整个序列可以不追加。 例如,调用字符缓冲区的toString方法将返回一个子序列,其内容取决于缓冲区的位置和限制。
append
在界面
Appendable
append
在
Writer
csq
- 要附加的字符序列。
如果csq是null ,那么四个字符"null"附加到该写入器。
public PrintWriter append(CharSequence csq, int start, int end)
形式的这种方法的调用时out.append(csq, start, end) csq不是null,行为以完全相同的方式调用
out.write(csq.subSequence(start, end).toString())
append
在界面
Appendable
append
在
Writer
csq
- 附加子序列的字符序列。
如果csq是null ,则将附加字符 ,如果csq包含四个字符"null" 。
start
- 子序列中第一个字符的索引
end
- 子序列中最后一个字符后面的字符的索引
IndexOutOfBoundsException
- 如果
start或
end为负数,则
start大于
end ,或
end大于
csq.length()
public PrintWriter append(char c)
这种形式为out.append(c)的方法的调用与调用的方式完全相同
out.write(c)
append
在界面
Appendable
append
在
Writer
c
- 要追加的16位字符