Java I/O总结
Java中的Java.io.PrintWriter类| 1
该类将对象的格式化表示形式打印到文本输出流。它实现了PrintStream中的所有打印方法。它不包含写入原始字节的方法,程序应使用未编码的字节流。
与PrintStream类不同,如果启用自动刷新功能,则只有在调用println,printf或format方法之一时才会完成此操作,而不是每当恰好输出换行符时。这些方法使用平台自己的行分隔符而不是换行符。
该类中的方法不会抛出I / O异常,尽管它的一些构造函数可能会这样。客户可以通过调用checkError()来查询是否发生了错误。
构造函数和说明
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。
方法:
PrintWriter append(char c):将指定的字符附加到此writer
Syntax :public PrintWriter append(char c)
Parameters:c - The 16-bit character to append
Returns:This writer
PrintWriter追加(CharSequence csq,int start,int end):将指定的字符序列追加到此writer。
Syntax :public PrintWriter append(CharSequence csq,
int start,
int end)
Parameters:
csq - The character sequence from which a subsequence will be appended.
start - The index of the first character in the subsequence
end - The index of the character following the last character in the subsequence
Returns:This writer
Throws:
IndexOutOfBoundsException
PrintWriter append(CharSequence csq):将指定字符序列的子序列附加到此writer。
Syntax :public PrintWriter append(CharSequence csq)
Parameters:
csq - The character sequence to append.
Returns: This writer
boolean checkError():刷新流并检查其错误状态。
Syntax :public boolean checkError()
Returns: true if and only if this stream
has encountered an IOException other than InterruptedIOException,
or the setError method has been invoked
protected void clearError():清除此流的内部错误状态。
Syntax :protected void clearError()
void close():关闭流并释放与其关联的所有系统资源。
Syntax :public void close()
Specified by:close in class Writer
void flush():刷新流。
Syntax :public void flush()
Specified by:flush in interface Flushable
Specified by:flush in class Writer
PrintWriter format(Locale l, String format, Object… args):使用指定的格式字符串和参数将格式化的字符串写入此写入程序。
语法: public PrintWriter format(Locale l,
String format,
Object... args)
参数:
l - 在格式化过程中应用的区域设置。如果l为空,
那么不会应用本地化。
格式 - 格式字符串语法中描述的格式字符串
args - 格式字符串中格式说明符引用的参数。
参数的数量是可变的,可能为零。
返回:这位作家
抛出:
IllegalFormatException
NullPointerException
PrintWriter format(String format, Object… args):使用指定的格式字符串和参数将格式化的字符串写入此写入器。
语法: public PrintWriter format(String format,
Object... args)
参数:
format - 格式字符串语法中描述的格式字符串
args - 格式字符串中格式说明符引用的参数。
参数的数量是可变的,可能为零。
返回:这位作家
投掷:
IllegalFormatException
NullPointerException
void print(boolean b):打印一个布尔值。
语法: public void print(boolean b)
void print(char c):打印一个字符。
语法: public void print(char c)
void print(char [] s):打印一组字符。
语法: public void print(char [] s)
void print(double d):打印双精度浮点数。
语法: public void print(double b)
void print(float f):打印一个浮点数。
语法: public void print(float f)
void print(int i):打印一个整数。
语法: public void print(int i)
void print(long l):打印一个长整数。
语法: public void print(long l)
void print(Object obj):打印一个对象。
语法: public void print(Object obj)
void print(String s):打印一个字符串。
语法: public void print(String s)
程序:
import java.io.*;
import java.util.Locale;
//Java program to demonstrate PrintWriter
class PrintWriterDemo {
public static void main(String[] args)
{
String s="GeeksforGeeks";
// create a new writer
PrintWriter out = new PrintWriter(System.out);
char c[]={'G','E','E','K'};
//illustrating print(boolean b) method
out.print(true);
//illustrating print(int i) method
out.print(1);
//illustrating print(float f) method
out.print(4.533f);
//illustrating print(String s) method
out.print("GeeksforGeeks");
out.println();
//illustrating print(Object Obj) method
out.print(out);
out.println();
//illustrating append(CharSequence csq) method
out.append("Geek");
out.println();
//illustrating checkError() method
out.println(out.checkError());
//illustrating format() method
out.format(Locale.UK, "This is my %s program", s);
//illustrating flush method
out.flush();
//illustrating close method
out.close();
}
}
Output:
true14.533GeeksforGeeks
java.io.PrintWriter@1540e19d
Geek
false
This is my GeeksforGeeks program