Java-File類

NO.1 File類簡單使用
/**
         * File(String pathname):根據(jù)一個路徑得到File對象
         * File(String parent, String child):根據(jù)一個目錄和一個子文件/目錄得到File對象
         * File(File parent, String child):根據(jù)一個父File對象和一個子文件/目錄得到File對象
         */

        //file類--路徑
        //這個文件路徑用的絕對路徑
        File file = new File("/Users/jiangjun/Desktop/讀書筆記代碼-iOS");
        //檢測這個文件是否存在
        boolean b =  file.exists();
        System.out.println(b);


        //接下來我們試試相對路徑
        //我們創(chuàng)建了一個文件--tmack81
        File file1 = new File("com/company/tmack81");
        boolean b1 = file1.exists();
        System.out.println(b1);

        //2.根據(jù)父級疮跑、子級路徑找文件
        String parent = "/Users/jiangjun/Desktop";
        String son = "讀書筆記代碼-iOS";
        File file2 = new File(parent,son);
        boolean b2 = file2.exists();
        System.out.println(b2);

       //3.把父級路徑封裝為一個File對象
        File parentFile = new File("/Users/jiangjun/Desktop");
        String son1 = "讀書筆記代碼-iOS";
        File file3 = new File(parentFile,son1);
        boolean b3 = file3.exists();
        System.out.println(b3);

    }
NO.2 File類的創(chuàng)建功能
 /**
         * * A:創(chuàng)建功能
         * public boolean createNewFile():創(chuàng)建文件 如果存在這樣的文件慧妄,就不創(chuàng)建了
         * public boolean mkdir():創(chuàng)建文件夾 如果存在這樣的文件夾,就不創(chuàng)建了
         * public boolean mkdirs():創(chuàng)建文件夾,如果父文件夾不存在补鼻,會幫你創(chuàng)建出來
         * B:案例演示
         * File類的創(chuàng)建功能

         * 注意事項:
         * 如果你創(chuàng)建文件或者文件夾忘了寫盤符路徑,那么翘贮,默認在項目路徑下。
         * @throws IOException
         * */

        //1.創(chuàng)建文件--不用后綴也可以創(chuàng)建的
        File file = new File("tmac.txt");
        try {
            boolean b = file.createNewFile();//這里直接寫會有異常,因為我們寫的路徑是無法創(chuàng)建的
            System.out.println(b);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("1---------------");
        //2.創(chuàng)建文件夾
        File dir = new File("jj");
        boolean b1 = dir.mkdir();
        System.out.println(b1);
        System.out.println("2-----------------");

        //3.創(chuàng)建文件夾--如果父文件夾不存在,會幫你創(chuàng)建出來
        File dirs = new File("King/Tmac");
        boolean b2 = dirs.mkdirs();
        System.out.println(b2);
NO.3 File類的重命名和刪除功能
/**
         * * A:重命名和刪除功能
         * public boolean renameTo(File dest):把文件重命名為指定的文件路徑
         * public boolean delete():刪除文件或者文件夾
         * B:重命名注意事項
         * 如果路徑名相同士葫,就是改名。
         * 如果路徑名不同送悔,就是改名并剪切慢显。
         * C:刪除注意事項:
         * Java中的刪除不走回收站。
         * 要刪除一個文件夾欠啤,請注意該文件夾內(nèi)不能包含文件或者文件夾
         */

        //1.重命名文件為指定文件路徑
        //路徑相同的情況下荚藻,就相當于重命名
         File file = new File("tmac.txt");
        System.out.println(file.exists());
        //現(xiàn)在我們的tmac.txt是存在的,我們給這個換個名
        File file1 = new File("ooo.txt");
        //改名
        System.out.println(file.renameTo(file1));

        //如果file1和file的路徑是不同的,那么就相當于剪切了
        System.out.println("1------------------");

        //2.刪除文件或者文件夾
         //直接將上面的ooo.txt刪除了
        System.out.println(file1.delete());

NO.4 File類的判斷功能
/**
 A:判斷功能
        * public boolean isDirectory():判斷是否是目錄
        * public boolean isFile():判斷是否是文件
        * public boolean exists():判斷是否存在
        * public boolean canRead():判斷是否可讀
        * public boolean canWrite():判斷是否可寫
        * public boolean isHidden():判斷是否隱藏
    * B:案例演示
        * File類的判斷功能
     */
    public static void main(String[] args) {
        //demo1();
        File file = new File("zzz");
        file.setReadable(false);
        System.out.println(file.canRead());             //windows系統(tǒng)認為所有的文件都是可讀的
        file.setWritable(true);
        System.out.println(file.canWrite());            //windows系統(tǒng)可以設置為不可寫
        
        File file2 = new File("aaa.txt");
        System.out.println(file2.isHidden());           //判斷是否是隱藏文件
        System.out.println(file.isHidden());
    }

    public static void demo1() {
        File dir1 = new File("ccc");
        System.out.println(dir1.isDirectory());         //判斷是否是文件夾
        
        File dir2 = new File("zzz");
        System.out.println(dir2.isDirectory());
        
        System.out.println(dir1.isFile());              //判斷是否是文件
        System.out.println(dir2.isFile());
    }
}

NO.5 File的獲取功能
/**
     * * A:獲取功能
        * public String getAbsolutePath():獲取絕對路徑
        * public String getPath():獲取路徑
        * public String getName():獲取名稱
        * public long length():獲取長度洁段。字節(jié)數(shù)
        * public long lastModified():獲取最后一次的修改時間应狱,毫秒值
        * public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數(shù)組
        * public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數(shù)組 
     */
    public static void main(String[] args) {
        //demo1();
        File dir = new File("F:/雙元課堂/day19/video");
        String[] arr = dir.list();                      //僅為了獲取文件名
        
        for (String string : arr) {
            System.out.println(string);
        }
        
        File[] subFiles = dir.listFiles();
        
        for (File file : subFiles) {                    //獲取文件對象
            System.out.println(file);
        }
    }

    public static void demo1() {
        File file1 = new File("ccc.txt");
        File file2 = new File("D:\\雙元課堂\\day19\\ccc.txt");
        //System.out.println(file1.getAbsolutePath());          //獲取絕對路徑
        //System.out.println(file2.getAbsolutePath());
        
        //System.out.println(file1.getPath());                  //獲取構造方法中傳入路徑
        //System.out.println(file2.getPath());
        
//      System.out.println(file1.getName());                    //獲取文件或者文件的名字
//      System.out.println(file2.getName());
//      
//      System.out.println(file1.length());
        
        Date d = new Date(file1.lastModified());                //文件的最后修改時間
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        System.out.println(sdf.format(d));
    }
}

NO.6 File類練習(一)
  //需求:判斷桌面是否有后綴名為.png的文件,如果有,輸出該文件名
         //1.把我們的桌面路徑封裝為一個File類
        File dir = new File("/Users/jiangjun/Desktop");
        //2.獲取桌面上所有的文件或者文件夾
       //第一種方法
//        String[] arr = dir.list();
//        //遍歷這個數(shù)組
//        for (String str : arr){
//            //判斷是否以.png結(jié)尾
//            if (str.endsWith(".png")){
//                System.out.println(str);
//            }
//
//        }

       //第二種方法
        File[] subFiles = dir.listFiles();//獲取桌面所有文件和文件夾的file對象
        //遍歷
        for (File subFile : subFiles){
             //isFile():方法判斷這個是不是文件
            if (subFile.isFile() && subFile.getName().endsWith(".png")){
                System.out.println(subFile);
            }
  }


NO.7 File類文件名過濾器的概述和使用
/**
     * @param args
     * * A:案例演示
     * 需求:判斷E盤目錄下是否有后綴名為.jpg的文件祠丝,如果有疾呻,就輸出該文件名稱
     */
    public static void main(String[] args) {
        File dir = new File("E:\\");
        
//      String[] arr = dir.list();                  //獲取e盤下所有的文件或文件夾
//      for (String string : arr) {
//          if(string.endsWith(".jpg")) {
//              System.out.println(string);
//          }
//      }
        
        /*File[] subFiles = dir.listFiles();            //獲取e盤下所有的文件或文件夾對象
        
        for (File subFile : subFiles) {
            if(subFile.isFile() && subFile.getName().endsWith(".jpg")) {
                System.out.println(subFile);
            }
        }*/
        
        String[] arr = dir.list(new FilenameFilter() {
            
            @Override
            public boolean accept(File dir, String name) {
                //System.out.println(dir);
                //System.out.println(name);
                File file = new File(dir, name);
                return file.isFile() && file.getName().endsWith(".jpg");
            }
        });
        
        for (String string : arr) {
            System.out.println(string);
        }
    }
}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市写半,隨后出現(xiàn)的幾起案子岸蜗,更是在濱河造成了極大的恐慌,老刑警劉巖污朽,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件散吵,死亡現(xiàn)場離奇詭異,居然都是意外死亡蟆肆,警方通過查閱死者的電腦和手機矾睦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炎功,“玉大人枚冗,你說我怎么就攤上這事∩咚穑” “怎么了赁温?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淤齐。 經(jīng)常有香客問我股囊,道長,這世上最難降的妖魔是什么更啄? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任稚疹,我火速辦了婚禮,結(jié)果婚禮上祭务,老公的妹妹穿的比我還像新娘内狗。我一直安慰自己怪嫌,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布柳沙。 她就那樣靜靜地躺著岩灭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赂鲤。 梳的紋絲不亂的頭發(fā)上噪径,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音数初,去河邊找鬼熄云。 笑死,一個胖子當著我的面吹牛妙真,可吹牛的內(nèi)容都是我干的缴允。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼珍德,長吁一口氣:“原來是場噩夢啊……” “哼练般!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锈候,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤薄料,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泵琳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摄职,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年获列,在試婚紗的時候發(fā)現(xiàn)自己被綠了谷市。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡击孩,死狀恐怖迫悠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情巩梢,我是刑警寧澤创泄,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站括蝠,受9級特大地震影響鞠抑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忌警,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一搁拙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦感混、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至此熬,卻和暖如春庭呜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背犀忱。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工募谎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阴汇。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓数冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搀庶。 傳聞我的和親對象是個殘疾皇子拐纱,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)哥倔,斷路器秸架,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • File類將文件和文件夾以及路徑封裝成對象,以提供更多的方法和屬性來操作這些對象咆蒿。File類不屬于流對象东抹,不能讀寫...
    比軒閱讀 1,109評論 0 2
  • File類 ??File類是java.io包下代表與平臺無關的文件和目錄,也就是說如果希望在程序中操作文件和目錄都...
    琦琦出去玩了閱讀 343評論 0 0
  • 創(chuàng)建File對象沃测,可使用多種構造函數(shù) File file =new File() 判斷文件(目錄)是否存在 fil...
    mesen_liu閱讀 857評論 0 2
  • 感懷 三十年間一夢沉缭黔,黃龍無酒洗塵身。 崖巔笑傲輕生死蒂破,欣做官家罹難人试浙。 ???
    波風_水門閱讀 139評論 0 0