Android第十五天

        一、IOwindows

            I-------->Input    輸入
            O-------->OutPut   輸出數組

            IO解決的問題  設備之間數據的傳輸問題
             設備:   內存----->硬盤     鍵盤---------->內存   硬盤------>內存          app

            通俗點講:是數據的傳輸
              圖片的複製    圖片的傳輸
        二、File類
 
            file類主要的功能定位目標文件函數

            分隔符
                在windows環境下的分隔符   \  可是因爲在Java中\ 須要轉意義   \\
                在Linux環境下  /
                後來window兼容了這兩種寫法   也就是說在Windows狀況下  \\    /
                後來sun爲了規範這種寫法  File類中提供了一個方法來動態的生成分隔符
   
            定位目標文件的格式是:
                File  file=new File(目標文件的地址);對象

            目標文件的地址:
                  盤符:C   D   E......圖片

            路徑的構成
                  絕對路徑(就是這個文件的盤符下的完整地址)
                   盤符:\\....文件
                  String path="G:"+File.separator+"infor.txt";//(建議的寫法)
                  String path1="G:\\infor.txt";
                  String path2="G:/infor.txt";內存

              相對路徑
                  相對:相對的是那個當前工程目錄
          .        定位的是當前工程的根目錄
          ..        定位的是當前工程根目錄的上一級目錄資源

              不在同一盤符下是不能寫相對路徑的字符串

        3.File類中的方法
             separator 與系統有關的默認名稱分隔符  可以根據系統的不一樣來動態的生成那個分隔符
    
          構造函數
                1:File(File parent, String child) 根據 parent 抽象路徑名和 child 路徑名字符串建立一個新 File 實例。 
                2:File(String pathname) 經過將給定路徑名字符串轉換爲抽象路徑名來建立一個新 File 實例。 
                3:File(String parent, String child) 根據 parent 路徑名字符串和 child 路徑名字符串建立一個新 File 實例
                4:File(URI uri) 經過將給定的 file: URI 轉換爲一個抽象路徑名來建立一個新的 File 實例。 
        四、File類裏面的方法
           createNewFile() :建立文件
           exists() 判斷文件是否存在
           getAbsolutePath()  返回絕對路徑名  很噁心
           getName()返回路徑上的文件的名稱
           getParent()返回他爹的路徑   噁心
           isAbsolute()斷定是否爲絕對的路徑
           isDirectory() :斷定當前的文件是否是目錄
           isFile():斷定文件是否是文件
           Length():獲取那個文件的長度
           list() :把一個目錄下面的全部文件和文件夾的名稱返回給一個數組
           listFiles() :把當前路徑下的文件或者文件夾以File的形式返回來
           mkdir() :建立目錄
           mkdirs() :建立的是級聯目錄
           renameTo(File dest) 至關於給文件從新命名get

        五、字節流

            字節輸入流
            ---------------------------------|InputStream

            字節輸出流
            --------------------------------|OutputStream

            輸入或者輸出是相對有當前程序而言的
            輸入表示的是程序要獲取數據
            輸出表示的是程序要寫出數據

        六、FileInputStream
            read() 今後輸入流中讀取一個數據字節  返回的就是當前讀取的字節

            讀取文件
              1:定位目標文件-------->咱們要讀取那一個文件的內容--->經過File類來進行定位的
              2:創建傳輸的通道------>FileInputStream();
              3:讀取文件
              4:關閉鏈接

            讀取文件的時候
                1:可使用:in.read()函數來一個字節一個字節的讀   注意:該方法的返回值就是讀取到的那個字符  若是須要顯示的話那麼是須要那麼強制類型的轉換的
                2:讀取文件的時候若是採用的是那個in.read(buf)這個方法的
                意思是:從目標文件讀取buf長度個數據到buf這個數組中,返回當前這一次讀取到實際的長度
                注意:流讀取完畢必定要關閉鏈接,不然資源不會被釋放

        七、文件輸出流
           FileOutPutStream
           FileOutputStream(File file) 建立一個向指定 File 對象表示的文件中寫入數據的文件輸出流。 
           FileOutputStream(File file, boolean append) 建立一個向指定 File 對象表示的文件中寫入數據的文件輸出流。 
           FileOutputStream(String name) 建立一個向具備指定名稱的文件中寫入數據的輸出文件流。 
           FileOutputStream(String name, boolean append) 建立一個向具備指定 name 的文件中寫入數據的輸出文件流。
           append:追加 
                true:表示向源文件進行追加
                false:不追加那就是覆蓋

           字節流是不能直接寫字符串的              write(byte[]): 表示的是能直接寫字節數組到目標文件

相關文章
相關標籤/搜索