JAVA 列印流與轉換流

來源:互聯網
上載者:User

標籤:

轉換流主要有兩個 InputStreamReader 和 OutputStreamWriter

 

1. InputStreamReader 主要是將位元組流輸入資料流轉換成字元輸入資料流

 

2. OutputStreamWriter 主要是將位元組流輸出資料流轉換成字元輸出資料流

列印流主要包含兩個:PrintStream 和 PrintWriter,分別對應位元組流和字元流

 

完成螢幕列印的重新導向

 

 System.out 對應的就是 PrintStream , 預設在輸出在控制台,我們可以重新導向他的輸出,可以定向到檔案

 

 也就是 執行 System.out.println("arry");  不輸出到螢幕,而輸出到檔案 

/*    System.in 可以接收螢幕的輸入*/import java.io.*;public class PrintStreamTest02{        public static void main(String[] args){                BufferedReader br = null;                try{                    InputStreamReader isr = new InputStreamReader(System.in);                        br = new BufferedReader(isr);                        String temp = null;            while((temp = br.readLine()) != null){                System.out.println(temp);                // 如果輸出 w 退出迴圈                if("w".equals(temp)){                    break;                    }                }        } catch(FileNotFoundException e){            e.printStackTrace();            } catch(IOException e){            e.printStackTrace();        } finally{            try{                if(br != null){                    br.close();                    }            }catch(IOException e){                e.printStackTrace();            }        }    }}
/*完成螢幕列印的重新導向    System.out 對應的就是 PrintStream , 預設在輸出在控制台,我們可以重新導向他的輸出,    可以定向到檔案 就是 執行 System.out.println("arry");  不輸出到螢幕,而輸出到檔案    */import java.io.*;public class PrintStreamTest01{        public static void main(String[] args){                FileOutputStream fos = null;                try{                    fos = new FileOutputStream("C:\\work\\Java\\arry.txt");                        PrintStream ps = new PrintStream(fos);                        System.setOut(ps);                        System.out.println("arry老師太帥了!就是帥 !");                    } catch(FileNotFoundException e){            e.printStackTrace();            } catch(IOException e){            e.printStackTrace();                } finally{            try{                if(fos != null){                    fos.close();                }            }catch(IOException e){                e.printStackTrace();                }        }    }}
/*完成螢幕列印的重新導向    System.out 對應的就是 PrintStream , 預設在輸出在控制台,我們可以重新導向他的輸出,    可以定向到檔案 就是 執行 System.out.println("arry");  不輸出到螢幕,而輸出到檔案    */import java.io.*;public class PrintStreamTest01{        public static void main(String[] args){                FileOutputStream fos = null;                try{                    fos = new FileOutputStream("C:\\work\\Java\\arry.txt");                        PrintStream ps = new PrintStream(fos);                        System.setOut(ps);                        System.out.println("arry老師太帥了!就是帥 !");                    } catch(FileNotFoundException e){            e.printStackTrace();            } catch(IOException e){            e.printStackTrace();                } finally{            try{                if(fos != null){                    fos.close();                }            }catch(IOException e){                e.printStackTrace();                }        }    }}

 

 

物件流程可以將 Java 對象轉換成二進位寫入磁碟,這個過程通常叫做序列化,並且還可

 

以從磁碟讀出完整的 Java 對象,而這個過程叫做還原序列化。

 

物件流程主要包括:ObjectInputStream 和 ObjectOutputStream

 

 

 

如何?序列化和還原序列化

/*    OutputStreamWriter 主要是將位元組流輸出資料流轉換成字元輸出資料流*/import java.io.*;public class OutputStreamWriterTest01{        public static void main(String[] args){                BufferedWriter bw = null;                try{                        // 位元組輸出資料流            //FileOutputStream fos = new FileOutputStream("C:\\work\\Java\\arry.txt");            // 字元輸出資料流            //OutputStreamWriter osw = new OutputStreamWriter(fos);                        bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\work\\Java\\arry.txt")));                        bw.write("keke老師新婚快樂 !");            bw.newLine();                        bw.write("祝福師傅和師娘 新婚快樂,百年好合,白頭偕老,早生貴子 ! !!!!");                    bw.flush();                } catch(FileNotFoundException e){            e.printStackTrace();            } catch(IOException e){            e.printStackTrace();            } finally{            try{                if(bw != null){                    bw.close();                    }            } catch(IOException e){                e.printStackTrace();            }        }    }}
/*    物件流程:            物件流程可以將java對象轉換成二進位寫入磁碟,這個過程叫做“序列化”        還可以從磁碟讀取完整的Java對象,這個過程叫 “還原序列化”                包括:ObjectInputStream 和 ObjectOutputStream    java.io.Serializable */import java.io.*;public class ObjectStreamTest02{        public static void main(String[] ags){                ObjectInputStream ois = null;                try{                        FileInputStream fis = new FileInputStream("C:\\work\\Java\\arry.txt");                        ois = new ObjectInputStream(fis);                        // 還原序列化            Student stu = (Student)ois.readObject();                        System.out.println(stu.name);                                }catch(FileNotFoundException e){            e.printStackTrace();            }catch(IOException e){            e.printStackTrace();        }catch(ClassNotFoundException e){            e.printStackTrace();            } finally{            try{                if(ois != null){                    ois.close();                    }            }catch(IOException e){                e.printStackTrace();                        }        }            }}// 實現序列化介面class Student implements Serializable{    String name;}

 

 

 

如果實現序列化該類必須實現序列化介面 java.io. Serializable , 該介面沒有任何方法, 該介面

 

只是一種標記介面,標記這個類是可以序列化的

JAVA 列印流與轉換流

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.