IO流加强之打印流

    xiaoxiao2021-03-27  31

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; import org.junit.Test; public class PrintStreamDemo {

    /*打印流特点

    1)只有输出没有输入。PrintStream是字节打印流,PrintWriter是字符打印流。

            2)能够方便地打印各种数据“值表示形式”,提供了一系列的打印功能(只有它有,其它流都没有。)         3)和其他输出流不同,它永远不会抛出IOException异常(构造方法除外),异常内部解决且设置了内部标志。        4)可创建具有自动刷新的功能,可使用带换行符的println()方法。        5)(在构造方法中)可以指定字符集编码的。

    * 1.打印流中write(int)方法的功能: *    1)输出字节数据,如果整数值大于一个字节只输出最后一个字. *    2)通常是面向计算机的,把原始数据输出。例如: 35是: 0010 0011 *    3)以后输出图片、声音类二进制文件,要用write()方法 *     * 2.打印流中print(int)方法的功能: *    1)把整数参数转换成字符输出. *    2)通常是面向用户的,按"我们看到的样子"输出来 *    3)以后输出文本内容,要用print()或println()

     * 关于打印流的自动刷新

                 * autoFlush - boolean 变量;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区。---其实是因为这几个方法中帮我们调用了out.flush()。

    */

    @Test public void printStreamDemo() throws IOException{ PrintStream out = new PrintStream("a.txt"); //out.write(97); //a  输出字节数据 //out.write(353);//a //out.print(97);//97  把整数参数转换成字符输出  例如: 35是: 0011 0101 out.print(353); //353 } @Test public void printStreamDemo2() throws IOException{ PrintStream out = System.out; for(int i=1;i<10;i++){ out.println("i="+i); } out.close();//把System.out关掉之后,后面的输出就无效了... System.out.println("--------------"); for(int i=1;i<10;i++){ System.out.println("i="+i); } } @Test public void printStreamDemo3() throws IOException{ changeOut(); for(int i=1;i<10;i++){ System.out.println("i="+i); } System.out.println("--------------"); } private void changeOut() { try { PrintStream ps = new PrintStream("aa.txt"); System.setOut(ps);//更改系统的System.out流,让所有输出存入文件 } catch (FileNotFoundException e) { e.printStackTrace(); } } }
    转载请注明原文地址: https://ju.6miu.com/read-664493.html

    最新回复(0)