第十五週周總結 緩衝流和對象流

字符集
   字符   文字和符號總稱總稱(Character)
   不一樣國家的數字和符號是同樣的    字母
   不一樣國家的文字 中文 日文 韓文
   計算機最先產生是按照英語單詞 單個字符設計的
   字母 數字 符號 ----1字節 8bit 256
   若是計算機想要處理除了上述字母符號之外的其它字符----好比中文2字節
   須要將中文進行字符編碼---->拆分 和 組合
   拆分和組合的規則-------所謂的字符編碼
   常見的字符編碼
        ASCII  American Standard Code for Information Interchange
        ISO-8859-1
        GB2312  GB18030   GBK     BIG5
        Unicode
        UTF-8   UTF-16

        平臺(操做系統)默認字符集GBK              Linux(MacOs)默認字符集UTF-8
        編程序使用的開發環境(IDE)——  Idea-->UTF-8   Eclipse--->GBK
        注意在用記事本存儲文字       流操做純文本形式的時候
        字符的形式採用UTF-8
        String s = "你我他";
        byte[] = s.getBytes("UTF-8");
        new String(byte[],"UTF-8");

緩衝流
             在流管道內增長緩存的數據
             讓咱們使用流讀取的文字更加的流暢
             高級流--->建立經過低級流
             BufferedInputStream/BufferedOutputStream
                  BufferedReader/BufferedWriter

             BufferedInputStream
             構建方式  使用低級流構建
             基本使用和低級流方法徹底一致
             read()  skip()  available()  close()

             BufferedOutputStream
             構建方式  使用低級流構建     注意  緩衝流構建的時候沒有boolean類型的參數
             基本使用和低級流方法徹底一致
             write()  flush()  close()

File
                            InputStream           OutputStream
                            Reader                Writer
     文件流
               低級
                        字節型   FileInputStream    FileOutputStream
                        字符型   FileReader         FileWriter
               緩衝
                                 BufferedInputStream    BufferedOutputStream
                                 BufferedReader         BufferedWriter
     數組流     
               byte數組          ByteArrayInputStream      ByteArrayOutputStream
               char數組          CharArrayReader           CharArrayWriter
     數據流                      DataInputStream           DataOutputStream  
     字符串流                    StringReader              StringWriter
     對象流                      ObjectInputStream         ObjectOutputStream

File+流
     1.爲何要有文件?
                文件永久性的保存信息              講不少的數據直接存入文件-----數據持久
     2.若是按照以行爲單位寫信息
                好處在於每一行記錄的信息都是相關的
                信息咱們能夠讀取出來  直接看懂文件
                很差在於第一不安全    直接看懂
                很差在於只能記錄String信息  不能記錄一些動做(方法)
     3.讀取出來的信息 String--->Person
     4.若是能將對象拆分紅字節碼  直接寫入文件
                將對象直接存入文件中---對象流
     對象的序列化/反序列化
     對象的序列化指的是
                講一個完整的對象  拆分紅字節碎片  記錄在文件中
     對象的反序列化指的是
                將文件中記錄的對象隨便  反過來組合成一個完整的對象
     若是想要將對象序列化到對象中
                須要讓對象實現Serializable接口
                是一個示意性接口
                同時爲了讓對象能夠反序列化
                須要讓對象多存在一個屬性 private long serialVersionUID = 任意L;
     若是想要將對象反序列化
                須要給對象提供一個序列化的版本號  1.7版本--->String  1.8--->String
相關文章
相關標籤/搜索