qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Java中IO流知識點總結

           一、流的分類
            1、按功能分
            讀取流:InputStream Reader
            寫出流:OutPutStream Writer
            2、按流的類型分類
            字節流:InputStream OutputStream
            字符流:Reader    Writer
            二、流功能分析
            讀取流是從輸入設備或數據對象中讀取數據到程序,用程序進行處理讀入的數據,寫出流是把程序處理的數據輸出到
            輸出設備上比如硬盤和控制臺。
            字節流讀取和寫入的數據單位是字節,可以讀取和寫入任何類型的數據。字符流讀取跟寫入的數據單位是字符,只能
            讀取和
            寫入文本類型的數據。當需要讀取或寫入文本型的數據時要用字符流,因為它會比字節流讀寫字符更方便和高效,相反當數
            據不是文本型時只能用字節流來讀取跟寫入。
            三、流中讀寫方法的示例。(當用到IO流時就有可能出現IO異常,所以需要處理可能的異常)
            字節流:
            FileOutputStream fos = new FileOutputStream("D://xxx.xxx");
            fos.write("dsfdsf".getBytes());//寫入字節數組
            fos.close();           //用完后需要關閉流,釋放資源。字節流不需要Flush
            FileInputStream fis = new FileInputStream("D://xxx.xxx");
            fis.read();       //讀取一個字節
            fis.close();
            字符流:
            FileWriter fw = new FileWriter("D:\\xxx.txt");
            fw.write("sdfsdfsdf");//可以直接寫入字符串
            fw.flush();         //寫完后需要Flush,才能真正寫道輸出設備
            fw.close();         //close()時也會Flush。
            FileReader fr = new FileReader("D:\\xxx.txt");
            fr.read(char[] ch);//可以讀取一個字符數組的內容
            fr.close();
            四、轉換流
            當需要流之間的轉換時會用到轉換流。
            1、把字節讀取流轉換成字符讀取流
            InputStreamReader isr = new InputStreamReader(new FileInputStream("xxx.xxx"));
            2、把字符輸出流轉化成字節輸出流
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("xx.xxx"));
           五、緩沖流
            需要提高流的讀寫效率時會用到緩沖流
            1、字節緩沖流
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream("xx"));
            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("xx"));
            2、字符緩沖流
            BufferedReader br = new BufferedReader(new FileReader("xx.txt"));
            BufferedWriter bw = new BufferedWriter(new FileWriter("xx.txt"));
            緩沖流對讀寫功能進行了增強,而且使用緩沖技術提高了讀寫效率,所以當需要提高程序的讀寫效率時要使用緩沖流。
            六、File類的使用
            1、創建
            boolean createNewFile():在指定位置創建文件,如果該文件已經存在,則不創建,返回false。
            和輸出流不一樣,輸出流對象已建立創建文件。而且文件已經存在,會覆蓋。
            boolean mkdir()創建文件夾
            boolean mkdirs() 創建多級文件夾
            2、刪除。
            boolean delete();刪除失敗時返回false。如果文件正在被使用,則刪除不了返回false。
            void deleteOnExit();在程序退出時刪除指定文件。
            3、判斷
            boolean exists();文件是否存在。
            isFile():是不是文件
            isDirectory();是不是文件夾
            isHidden();是不是隱藏文件
            isAbsolute();是不是絕對路徑
            4、獲取信息
            getName();文件名
            getPath();文件路徑
            getParent();上一層路徑
            getAbsolutePath();絕對路徑

          posted on 2014-04-18 13:51 順其自然EVO 閱讀(1682) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 隆昌县| 新蔡县| 栖霞市| 聂荣县| 日土县| 邵阳县| 曲靖市| 通河县| 长沙市| 德格县| 昭觉县| 贺州市| 防城港市| 蒙山县| 田林县| 石狮市| 霸州市| 察哈| 昌平区| 潮安县| 枝江市| 邵阳市| 泰兴市| 巧家县| 常熟市| 靖西县| 鹿泉市| 长沙市| 聂荣县| 榆树市| 武隆县| 太谷县| 射洪县| 比如县| 尼勒克县| 开江县| 道孚县| 六枝特区| 威宁| 庄浪县| 鲁甸县|