打印流

打印流

  • 不能读只能写
  • 分类:PrintStream 字节打印流

​ PrintWriter 字符打印流

  • 特点1:打印流只操作文件目的地,不操作数据源

  • 特点2:特有的写出方法可以实现,数据原样写出

  • 特点3:特有的写出方法,可以实现自动刷新,自动换行,

    打印一次数据=写出+换行+刷新

  • 字节打印流

package io流;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.nio.charset.Charset;

public class dayin {
    public static void main(String[] args) throws FileNotFoundException {
        /*
        字节打印流:
        构造方法:
        public PrintStream(OutputStream/File/String)   关联字节输出流/文件/文件路径
        public PrintStream(String fileName,Charset charset)    指定字符编码
        public PrintStream(OutputStreamout,booleam autoFlush)     自动刷新
        public PrintStream(OutputStream out,boolean autoFlush,String encoding)  指定字符编码,且·自动刷新

        成员方法:
        public void write(int b)  常规方法:规则跟之前一样,将指定的字节写出
        public void println(xxx xx)  特有方法:打印任意数据,自动刷新,自动换行
        public void print(xxx xx)  特有方法:打印任意数据,不换行
        public void printf(String format,Object...args)  特有方法:带有占位符的打印语句,不换行

         */


        //1.创建字节打印流对象
        PrintStream ps = new PrintStream(new FileOutputStream("D:\\code\\练习文件\\zijiedayin"),true, Charset.forName("UTF-8"));


        //2.写出数据
        ps.println(97);//写出+自动刷新+换行
        ps.print(true);
        ps.printf("%s 爱上了 %s","阿珍","阿强");

        //3.释放资源
        ps.close();


    }
}
  • 字节流底层没有缓冲区,开不开自动刷新都一样

  • 字符流底层有缓冲区,想要自动刷新需要开启

  • package io流;
    
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.Writer;
    
    public class zifudayin {
        public static void main(String[] args) throws IOException {
            /*
              字符打印流:
            构造方法:
            public PrintWriter(Writer/File/String)   关联字节输出流/文件/文件路径
            public PrintWriter(String fileName,Charset charset)    指定字符编码
            public PrintWriter(Writer,booleam autoFlush)     自动刷新
            public PrintWriter(Writer out,boolean autoFlush,String encoding)  指定字符编码,且·自动刷新
    
            成员方法:
            public void write(int b)  常规方法:规则跟之前一样,将指定的字节写出
            public void println(xxx xx)  特有方法:打印任意数据,自动刷新,自动换行
            public void print(xxx xx)  特有方法:打印任意数据,不换行
            public void printf(String format,Object...args)  特有方法:带有占位符的打印语句,不换行
    
             */
    
            //1.创建字符打印流的对象
            PrintWriter pw = new PrintWriter(new FileWriter("D:\\code\\练习文件\\zifudayin"));
    
            //2.写出数据
            pw.println("今天你终于叫我名字了,虽然叫错了,但是没关系,我马上改");
            pw.print("nihaonihao");
            pw.printf("%s 爱上了 %s","阿珍","阿强");
    
            //3.释放资源
            pw.close();
    
posted @ 2025-11-01 13:39  RIcard  阅读(6)  评论(0)    收藏  举报