I/O流里面的printwriter

一、什么是printwriter?

printwriter是向文本输出流打印对象的格式化表示形式。此类实现在PrintStream中的所有 与PrintStream类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。 此类中的方法不会抛出 I/O 异常,尽管其某些构造方法可能抛出异常。客户端可能会查询调用checkError()是否出现错误。

二、printwriter的构造方法

方法含义
PrintWriter(File file)使用指定的文件创建一个没有自动行刷新的 新PrintWriter
PrintWriter(File file, String csn)使用指定的文件和字符集创建一个没有自动 行刷新的新PrintWriter
PrintWriter(File file, Charset charset)使用指定的文件和字符集创建一个没有自动 行刷新的新PrintWriter
PrintWriter(OutputStream out)从现有的OutputStream创建一个没有自动 行刷新的新PrintWriter
PrintWriter(OutputStream out, boolean autoFlush)从现有的OutputStream创建一个新的 PrintWriter
PrintWriter(OutputStream out, boolean autoFlush, Charset charset)从现有的OutputStream创建一个新的 PrintWriter
PrintWriter(Writer out)创建一个新的PrintWriter,没有自动行刷 新
PrintWriter(Writer out, boolean autoFlush)创建一个新的PrintWriter
PrintWriter(String fileName)使用指定的文件名创建一个没有自动行刷新 的新PrintWriter
PrintWriter(String fileName, String csn)使用指定的文件名和字符集创建一个没有自 动行刷新的新PrintWriter
PrintWriter(String fileName, Charset charset)使用指定的文件名和字符集创建一个没有自 动行刷新的新PrintWriter

实例: 追加模式,写一个文件数据

 import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Practice5 {
    public static void main(String[] args) throws IOException {
        PrintWriter out = new PrintWriter(new FileWriter("m.txt",true));
        out.print("hello");
        out.printf("java:%s %tF %<tT%n","io",System.currentTimeMillis());
        out.flush();
        out.close();
    }
}

文件添加行号案例实例:

 try(BufferedReader br = new BufferedReader(new
                FileReader("user.txt")); PrintWriter out = new PrintWriter(new
                FileOutputStream("u2.txt"))) {
            String t = "";
            int i = 0;
            while((t = br.readLine())!=null){
                out.printf("%02d、%s%n",++i,t);
            }
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

三、printwriter的类方法

PrintWriterappend(char c) 将指定字符添加到此 writer。
 PrintWriterappend(CharSequence csq)将指定的字符序列添加到此 writer。
 PrintWriterappend(CharSequence csq, int start, int end)将指定字符序列的子序列添加到此 writer。
 booleancheckError()如果流没有关闭,则刷新流且检查其错误状态。
protected  voidclearError()清除此流的错误状态。
 voidclose()关闭该流并释放与之关联的所有系统资源。
 voidflush()刷新该流的缓冲。
 PrintWriterformat(Locale l, String format, Object... args)使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。
 PrintWriterformat(String format, Object... args)使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。
 voidprint(boolean b)打印 boolean 值。
 voidprint(char c)打印字符。
 voidprint(char[] s)打印字符数组。
 voidprint(double d)打印 double 精度浮点数。
 voidprint(float f)打印一个浮点数。
 voidprint(int i)打印整数。
 voidprint(long l)打印 long 整数。
 voidprint(Object obj)打印对象。
 voidprint(String s)打印字符串。
 PrintWriterprintf(Locale l, String format, Object... args)使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。
 PrintWriterprintf(String format, Object... args)使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法。
 voidprintln()通过写入行分隔符字符串终止当前行。
 voidprintln(boolean x)打印 boolean 值,然后终止该行。
 voidprintln(char x)打印字符,然后终止该行。
 voidprintln(char[] x)打印字符数组,然后终止该行。
 voidprintln(double x)打印双精度浮点数,然后终止该行。
 voidprintln(float x)打印浮点数,然后终止该行。
 voidprintln(int x)打印整数,然后终止该行。
 voidprintln(long x)打印 long 整数,然后终止该行。
 voidprintln(Object x)打印 Object,然后终止该行。
 voidprintln(String x)打印 String,然后终止该行。
protected  voidsetError()指示已发生错误。
 voidwrite(char[] buf)写入字符数组。
 voidwrite(char[] buf, int off, int len)写入字符数组的某一部分。
 voidwrite(int c)写入单个字符。
 voidwrite(String s)写入字符串。
 voidwrite(String s, int off, int len)写入字符串的某一部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值