<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 概述 當需要把內存中的數據存儲到持久化設備上這個動作稱為輸出(寫)Output操作。 當把持久設備上的數據讀取到內存中的這個動作稱為輸入(讀)Input操作。 因此我們把這種輸入和輸出動作稱為IO操作 # File類 File文件和目錄路徑名的抽象表示形式。即,Java中把文件或者目錄(文件夾)都封裝成File對象。也就是說如果我們要去操作硬盤上的文件,或者文件夾只要找到File這個類即可 ## 構造函數 ![](https://box.kancloud.cn/f7adaa605e99de8d7819e8aacf41fedf_1618x338.jpg) 演示: ~~~ //File構造函數演示 String pathName = "e:\\java_code\\day22e\\hello.java"; File f1 = new File(pathName);//將Test22文件封裝成File對象。注意;有可以封裝不存在文件或者文件夾,變成對象。 System.out.println(f1); File f2 = new File("e:\\java_code\\day22e","hello.java"); System.out.println(f2); //將parent封裝成file對象。 File dir = new File("e:\\java_code\\day22e"); File f3 = new File(dir,"hello.java"); System.out.println(f3); ~~~ ## File類的獲取 創建完了File對象之后,那么File類中都有如下常用方法,可以獲取文件相關信息 ![](https://box.kancloud.cn/dfa711c096ff90dc1856d57b9837c8f1_1296x498.jpg) ~~~ //創建文件對象 File file = new File("Test22.java"); //獲取文件的絕對路徑,即全路徑 String absPath = file.getAbsolutePath(); //File中封裝的路徑是什么獲取到的就是什么。 String path = file.getPath(); //獲取文件名稱 String filename = file.getName(); //獲取文件大小 long size = file.length(); ~~~ ## 文件和文件夾的創建刪除等 ![](https://box.kancloud.cn/65c0d86dc47f3e0ca4bf6df146b4e3f5_1666x594.jpg) ~~~ // 對文件或者文件加進行操作。 File file = new File("e:\\file.txt"); // 創建文件,如果文件不存在,創建 true 如果文件存在,則不創建 false。 如果路徑錯誤,IOException。 boolean b1 = file.createNewFile(); System.out.println("b1=" + b1); //-----------刪除文件操作-------注意:不去回收站。慎用------ boolean b2 = file.delete(); System.out.println("b2="+b2); //-----------需要判斷文件是否存在------------ boolean b3 = file.exists(); System.out.println("b3="+b3); //-----------對目錄操作 創建,刪除,判斷------------ File dir = new File("e:\\abc"); //mkdir()創建單個目錄。//dir.mkdirs();創建多級目錄 boolean b4 = dir.mkdir(); System.out.println("b4="+b4); //刪除目錄時,如果目錄中有內容,無法直接刪除。 boolean b5 = dir.delete(); //只有將目錄中的內容都刪除后,保證該目錄為空。這時這個目錄才可以刪除。 System.out.println("b5=" + b5); //-----------判斷文件,目錄------------ File f = new File("e:\\javahaha");// 要判斷是否是文件還是目錄,必須先判斷存在。 // f.mkdir();//f.createNewFile(); System.out.println(f.isFile()); System.out.println(f.isDirectory()); ~~~ ## listFiles()方法 ![](https://box.kancloud.cn/0ce8c8b4d35dc3c6eba122cdf5d0640c_1616x208.jpg) ~~~ File dir = new File("e:\\java_code"); //獲取的是目錄下的當前的文件以及文件夾的名稱。 String[] names = dir.list(); for(String name : names){ System.out.println(name); } //獲取目錄下當前文件以及文件對象,只要拿到了文件對象,那么就可以獲取其中想要的信息 File[] files = dir.listFiles(); for(File file : files){ System.out.println(file); } ~~~ 注意:在獲取指定目錄下的文件或者文件夾時必須滿足下面兩個條件 1,指定的目錄必須是存在的, 2,指定的必須是目錄。否則容易引發返回數組為null,出現NullPointerException ## 文件過濾器 File類中重載的listFiles方法,并且接受指定的過濾器 ![](https://box.kancloud.cn/10d64c520bfb604f8e0cb567773b8078_1594x94.jpg) ![](https://box.kancloud.cn/09fccd76745daf96f0cb0a62514f62e2_1490x306.jpg) * 測試類 ~~~ public class FileDemo2 { public static void main(String[] args) { //獲取擴展名為.java所有文件 //創建File對象 File file = new File("E:\\code\\day11_code"); //獲取指定擴展名的文件,由于要對所有文件進行擴展名篩選,因此調用方法需要傳遞過濾器 File[] files = file.listFiles(new MyFileFilter()); //遍歷獲取到的所有符合條件的文件 for (File f : files) { System.out.println(f); } } } ~~~ * 自定類繼承FilenameFilter過濾器接口 ~~~ //定義類實現文件名稱FilenameFilter過濾器 class MyFileFilter implements FilenameFilter{ public boolean accept(File dir, String name) { return name.endsWith(".java"); } } ~~~ 在listFiles(FileFilter filter) 也可以接受一個FileFilter過濾器,它和我們講的FilenameFilter有啥區別呢? ![](https://box.kancloud.cn/20d0664f23b6f8c7a7c6fa7898708603_1654x434.jpg) FilenameFilter過濾器中的accept方法接受兩個參數,一個當前文件或文件夾所在的路徑,一個是當前文件或文件夾對象的名稱。 FileFilter 過濾器中的accept方法接受一個參數,這個參數就當前文件或文件夾對象 **當我們需要過濾文件名稱時就可以使用FilenameFilter這個過濾器,當我們想對當前文件或文件夾進行過濾,就可以使用FileFilter ,比如需要當前目錄下的所有文件夾,就可以使用FileFilter 過濾器**。 * 測試類 ~~~ public class FileDemo2 { public static void main(String[] args) { //獲取擴展名為.java所有文件 //創建File對象 File file = new File("E:\\code\\day11_code"); //獲取指定目錄下的文件夾 File[] files = file.listFiles(new FileFileterByDir()); //遍歷獲取到的所有符合條件的文件 for (File f : files) { System.out.println(f); } } } ~~~ * 自定義類繼承FileFilter過濾器接口 ~~~ //文件過濾器 class FileFileterByDir implements FileFilter{ public boolean accept(File pathname) { return pathname.isDirectory(); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看