美文网首页
IO9:打印流--java34(03/04/2016)

IO9:打印流--java34(03/04/2016)

作者: Girl_endless | 来源:发表于2016-03-11 16:48 被阅读14次

    在整个IO包中,打印流是输出信息最方便的类。

    PrintStream(字节打印流)和PrintWriter(字符打印流)
    提供了一系列重载的print和println方法,用于多种数据类型的输出
    PrintStream和PrintWriter的输出不会抛出异常
    PrintStream和PrintWriter有自动flush功能
    System.out返回的是PrintStream的实例

    package com.atguigu.java;
    
    import java.io.DataInputStream;
    import java.io.DataOutput;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    
    import javax.xml.crypto.Data;
    
    import org.junit.Test;
    
    public class TestOtherStream {
    
        @Test
        public void testData1(){
            DataInputStream dis = null;
            try{
                dis = new DataInputStream(new FileInputStream(new File("Data.txt")));
    //          String str;
    //          while((str = dis.readLine()) != null){
    //              System.out.println(str);
    //          }
    //          byte[] b = new byte[20];
    //          int len;
    //          while((len = dis.read(b)) != -1){
    //              System.out.println(new String(b,0,len));
    //          }
                String str = dis.readUTF();
                System.out.println(str);
                boolean b = dis.readBoolean();
                System.out.println(b);
                long l = dis.readLong();
                System.out.println(l);
                    
                }catch(IOException e1){
                    e1.printStackTrace();
            }finally{
                
                if(dis != null){
                    try {
                        dis.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
        
        //数据流:用来处理基本数据类型、String、字节数组的数据:DataInputStream DataOutputStream
        @Test
        public void testData(){
            DataOutputStream dos = null;
            try {
                FileOutputStream fos = new FileOutputStream("data.txt");
                dos = new DataOutputStream(fos);
                dos.writeUTF("我爱你,而你却不知道");
                dos.writeBoolean(true);
                dos.writeLong(1233333333);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                if(dos != null){
                    
                    try {
                        dos.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            
        }
        
        //打印流:字节流:PrintStream  字符流:PrintWriter
        @Test
        public void printStreamWriter(){
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(new File("print.txt"));
            } catch (Exception e) {
                e.printStackTrace();
            }
            //创建打印输出流,设置为自动刷新模式(写入换行符或字节'\n'时都会刷新输出缓冲区)
            PrintStream ps = new PrintStream(fos, true);
            if(ps != null){
                System.setOut(ps);//把标准输出(控制台输出)改成文件输出
            }
            for(int i = 0; i <= 255; i++){//输出ASCII字符
                System.out.print((char)i);
                if (i % 50 == 0) {
                    System.out.println();
                }
            }
            
        }
    }
    
    

    相关文章

      网友评论

          本文标题:IO9:打印流--java34(03/04/2016)

          本文链接:https://www.haomeiwen.com/subject/hqcxlttx.html