大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 java中File類的構(gòu)造函數(shù)及其方法

java中File類的構(gòu)造函數(shù)及其方法

更新時(shí)間:2019-08-18 09:00:00 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2768次

 

 

這篇文章主要介紹了java中File類的構(gòu)造函數(shù)及其方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面由動(dòng)力節(jié)點(diǎn)java學(xué)院小編一一介紹java中File類的構(gòu)造函數(shù)及其方法。


     1、IO流(Input Output)


  IO流技術(shù)主要的作用是解決設(shè)備與設(shè)備之間的數(shù)據(jù)傳輸問(wèn)題,比如:硬盤的數(shù)據(jù)--讀取到-->內(nèi)存中 內(nèi)存的數(shù)據(jù)--讀取到-->硬盤中 鍵盤上的數(shù)據(jù)--讀取到-->內(nèi)存中



  2、IO流技術(shù)的運(yùn)用場(chǎng)景


  導(dǎo)出報(bào)表、上傳大頭照、下載、解析xml文件.....等等 (數(shù)據(jù)保存到硬盤,該數(shù)據(jù)可以做到永久性保存。數(shù)據(jù)一般以文件的形式保存到硬盤上。sun使用一個(gè)File類來(lái)描述文件或者文件夾)



  3、File類的構(gòu)造函數(shù)(方法)


  File(String pathname):指定文件或者文件夾的路徑來(lái)創(chuàng)建一個(gè)File文件


  File(File parent, String child):根據(jù)parent抽象路徑和child路徑名字符串,創(chuàng)建一個(gè)新的File實(shí)例


  File(String parent, String child):


  目錄分割符:在Windows機(jī)器上的目錄分隔符是\,在Linux機(jī)器上的目錄分隔符是/


  注意:在Windows上面\與/都可以作為目錄分隔符。而且,如果寫(xiě)/的時(shí)候,只需要寫(xiě)1個(gè)正斜杠即可,而寫(xiě)\的時(shí)候,需要寫(xiě)2個(gè)反斜杠。


package com.dhb.file;

import java.io.File;

import java.io.IOException;

/**

 * @author DSHORE / 2018-6-22

 *

 */

public class Demo1 {

  public static void main(String[] args) throws IOException {

    File file = new File("F:/a.txt");//指定路徑  [構(gòu)造函數(shù)]

    file.createNewFile();//創(chuàng)建文件(空文件)  [方法]    

    File files = new File("F:\\","b.txt");//第一個(gè)參數(shù)是路徑,第二個(gè)參數(shù)是要?jiǎng)?chuàng)建文件的文件名  [構(gòu)造函數(shù)]

    files.createNewFile();//創(chuàng)建文件(空文件)  [方法]

  }

}

  

  4、File類的一些常用方法


  創(chuàng)建:


  createNewFile():在指定位置創(chuàng)建空文件,成功返回true,如果已存在就不再創(chuàng)建了返回false


  mkdir():在指定位置創(chuàng)建目錄,這之后創(chuàng)建最后一級(jí)目錄,如果上級(jí)目錄不存在就拋出異常.


  mkdirs():在指定位置創(chuàng)建目錄,這也會(huì)創(chuàng)建路徑中所有不存在的父目錄


  renameTo(File dest):重命名文件或文件夾。文件不同時(shí),相當(dāng)于文件的剪切,剪切的時(shí)候不能操作非空文件夾。移動(dòng)/重命名成功返回true,失敗返回false


  刪除:


  delete() :刪除一個(gè)文件或者空文件夾,如果文件夾不為空,則不能刪除,成返回true,失敗返回false


  deleteOnExit(): 在虛擬機(jī)終止時(shí),請(qǐng)求刪除此抽象路徑名的文件或者目錄,保證文件異常時(shí)也可以刪除文件


  判斷:


  exists():判斷指定的文件或者文件夾是否存在


  isFile():判斷是否是一個(gè)文件;如果不存在,則為false


  isDirectory():判斷是否是一個(gè)文件夾


  isHidden():判斷指定的文件是否是隱藏文件


  isAbsolute():判斷指定的文件或文件夾是否是在絕對(duì)路徑下


  獲取:


  getName():獲取文件或文件夾名稱


  getPath():返回的是絕對(duì)路徑,可以是相對(duì)路徑,但是目錄要指定


  getAbsolutePath():獲取絕對(duì)路徑


  length():獲取文件的大小(字節(jié)為單位)


  getParent():獲取文件的父路徑


  lastModified():獲取文件最后一次修改的時(shí)間


  注意:


  . :一個(gè)點(diǎn)表示當(dāng)前路徑


  .. :兩個(gè)點(diǎn)表示上一級(jí)路徑


  路徑問(wèn)題:


  絕對(duì)路徑:該文件在硬盤上的完整路徑;絕對(duì)路徑一般是以盤符開(kāi)頭的。


  相對(duì)路徑:資源文件相對(duì)于當(dāng)前程序所在路徑。


  注意:如果程序當(dāng)前所在路徑與資源文件不再同一個(gè)盤下面,是沒(méi)法寫(xiě)相對(duì)路徑的



  5、實(shí)例


package com.dhb.file;


import java.io.File;

import java.io.IOException;

 

/**

 * @author DSHORE / 2018-6-22

 *

 */

public class Demo2 {

  public static void main(String[] args) throws IOException {

    //創(chuàng)建

    File file=new File("F:\\aa");

    System.out.println("創(chuàng)建文件成功了嗎?"+file.createNewFile());

    File dir=new File("F:\\aaa\\aaa");

    System.out.println("創(chuàng)建文件夾成功了嗎?"+dir.mkdir());

    File dirs=new File("F:\\aaa\\aaa\\aa\\cc\\ddd");

    System.out.println("創(chuàng)建多級(jí)文件夾成功了嗎?"+dirs.mkdirs());

     

    File destFile=new File("F:\\aaaw");

    System.out.println("重命名文件夾成功嗎?"+dir.renameTo(destFile));

    System.out.println("重命名文件成功嗎?"+file.renameTo(destFile));

     

    //刪除

    File deletefile=new File("F:\\aaa");

    System.out.println("刪除文件/空文件夾成功嗎?"+deletefile.delete());

    file.deleteOnExit();//jvm

    System.out.println("哈哈哈");

     

    //判斷

    File fil=new File("F:\\a.txt");

    file.createNewFile();//創(chuàng)建一個(gè)文件

    System.out.println("該文件/文件夾存在嗎?"+fil.exists());

    System.out.println("判斷是否是一個(gè)文件:"+fil.isFile());

    System.out.println("判斷是否是一個(gè)文件夾:"+fil.isDirectory());

    System.out.println("隱藏文件嗎?"+fil.isHidden());

    System.out.println("是絕對(duì)路徑嗎?"+fil.isAbsolute());

  }

}


"獲取"的例子


package com.dhb.file;

import java.io.File;

import java.text.SimpleDateFormat;

import java.util.Date;

 

/**

 * @author DSHORE / 2018-6-25

 *

 */

public class Demo3 {

  public static void main(String[] args) {

    /*File file=new File("..\\homeWork.java");

    System.out.println(file.exists());*/

    File f=new File("..\\..\\a.txt");//上上級(jí)路徑下的a.txt文件

    System.out.println("獲取文件名:"+f.getName());//返回值:a.txt

    System.out.println("獲取相對(duì)路徑:"+f.getPath());//返回值:..\..\a.txt  說(shuō)明:a.txt文件在C:\MyEclipse10路徑下

    /** 當(dāng)上面兩條輸出語(yǔ)句的絕對(duì)路徑下沒(méi)有a.txt這個(gè)文件時(shí),也是輸出這個(gè)結(jié)果,因?yàn)樗@取的是當(dāng)前對(duì)象f的值*/

    System.out.println(f.exists());//返回值:true   說(shuō)明:C:\MyEclipse10路徑下有a.txt文件

    System.out.println("獲取絕對(duì)路徑:"+f.getAbsolutePath());//返回值:C:\MyEclipse10\MyCode\MyJavaCode\..\..\a.txt

    System.out.println("獲取文件的大小(字節(jié)為單位):"+f.length());//返回值:10

    System.out.println("獲取文件的父路徑:"+f.getParent());//返回值:..\..  說(shuō)明:其父路徑為C:\MyEclipse10

    long lm=f.lastModified();

    Date date=new Date(lm);

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");  

    System.out.println("獲取文件最后一次修改的時(shí)間:"+sdf.format(date));//返回值:2018年06月25日 11:29:49

  }

}


運(yùn)行結(jié)果圖

1.png


  附錄1


  與文件夾操作相關(guān):


  static File[] listRoots():列出所有的根目錄(Windows所有系統(tǒng)盤符)


  list():返回指定目錄下的所有文件或文件夾名,包含隱藏文件(返回的文件/文件夾名是字符串,不可再對(duì)文件/文件夾進(jìn)行操作)


  listFiles():返回指定目錄下的所有文件或文件夾名,包含隱藏文件(可以再對(duì)文件/文件夾進(jìn)行操作)


package com.dhb.file;

import java.io.File;

/**

 * @author DSHORE / 2018-6-25

 *

 */

public class Demo4 {

  public static void main(String[] args) {

    File[] roots=File.listRoots();

    for (File file : roots) {

      System.out.println(file);

      /* C:\   //運(yùn)行結(jié)果

       * D:\

       * E:\

       * F:\

       * G:\

       * H:\

       * */

    }

    File file=new File("F:\\MyJavaCode");

    String[] s=file.list();

    for (String string : s) {

      System.out.println(string);//返回指定目錄下的所有文件或文件夾名,包含隱藏文件(返回的文件/文件夾名是字符串,不可再對(duì)文件/文件夾進(jìn)行操作)

    }

    File[] f=file.listFiles();

    for (File file2 : f) {

      System.out.println(file2.getName());//返回指定目錄下的所有文件或文件夾名,包含隱藏文件(可以再對(duì)文件/文件夾進(jìn)行操作)

    }

  }

}

運(yùn)行結(jié)果圖


2.png


3.png

  


后面兩條輸出語(yǔ)句的結(jié)果都一樣


附錄2


例1:


package com.dhb.file;

 

import java.io.File;

 

/**

 * @author DSHORE / 2018-6-25

 *

 */

/* 需求1:指定一個(gè)文件夾,然后返回文件夾下面所有java文件

 * */

public class Demo5 {

  public static void main(String[] args) {

    listJava(new File("F:\\MyJavaCode"));

  }

  public static void listJava(File dir){

    File[] file=dir.listFiles();

    for (File file2 : file) {

      //方法1

      if(file2.getName().endsWith(".java")){

        System.out.println(file2.getName());

      }

      //方法2:正則表達(dá)式

      String fileName=file2.getName();

      if(fileName.matches(".+\\.java")){

        System.out.println(fileName);

      }

    }

  }

}


運(yùn)行結(jié)果圖

4.png


5.png




例2:


package com.dhb.file;

import java.io.File;

/**

 * @author DSHORE / 2018-6-26

 *

 */

/*

 * 需求2:指定一個(gè)文件夾,然后列出文件夾下面的所有子文件與文件夾,但是 格式要如下

 * 

 * 文件:

 *   文件名1

 *     文件名2

 *     文件名2

 *

 * 文件夾:

 *     文件夾1

 *     文件夾2

 *     文件夾3

 * */

public class Demo6 {

  public static void listJava2(File dir){

    File[] file=dir.listFiles();

    System.out.println("以下是文件:");

    for (File file2 : file) {

      if(file2.isFile()){//判斷其是否是文件

        System.out.println(file2.getName());

      }

    }

    System.out.println("以下是文件夾:");

    for (File file2 : file) {

      if(file2.isDirectory()){//判斷其是否是文件夾

        System.out.println(file2.getName());

      }

    }

  }

  public static void main(String[] args) {

    listJava2(new File("F:\\MyJavaCode"));

  }

}


運(yùn)行結(jié)果圖



6.png


附錄3



package com.dhb.file;

import java.io.File;

/**

 * @author DSHORE / 2018-6-26

 *

 */

//需求:掃描電腦中所有文件夾和文件以及文件夾下的文件和文件夾,或掃描指定盤符下的所有文件和文件夾等等

public class Demo7 {

  public static void listDirtory(String dir){

    File f=new File(dir);

    File[] f2=f.listFiles();//得到文件和文件夾

    if(f2==null){

      return;

    }else{

      for (int i = 0; i < f2.length; i++) {

        if(f2[i].isDirectory()){//判斷是否是 文件夾

          System.out.println(f2[i].getAbsolutePath()+" \"is director file\"");//返回值是“文件夾”

          listDirtory(f2[i].getAbsolutePath());//繼續(xù)掃描文件夾里面的文件和文件夾

        }else{

          System.out.println(f2[i].getAbsolutePath());//返回值是“文件”

        }

      }

    }

  }

  public static void main(String[] args) {

    /*File[] f=File.listRoots();//掃描電腦中所有根盤符

    for (File file : f) {

      System.out.println(file);

      listDirtory(file.toString());//繼續(xù)掃描文件夾里面的文件和文件夾

    }*/

    //掃描當(dāng)前磁盤

    listDirtory(File.separator);

    //掃描指定磁盤

    //listDirtory("F:\\");

  }

}


      運(yùn)行結(jié)果圖(文件和文件夾太多,下面只顯示部分)路徑的最后一級(jí)是文件/文件夾


1565936599409120.png



附錄4


package com.dhb.file;

 

import java.io.File;

 

/**

 * @author DSHORE / 2018-7-4

 *

 */

//需求:刪除磁盤中指定的文件夾里面的所有文件和文件夾

public class Demo12 {

  public static void delDir(File dir){

    File[] files=dir.listFiles();

    if(files != null){            

      for (int i = 0; i < files.length; i++) {

        if(files[i].isFile()){

          boolean b = files[i].delete();

          if(b){

            System.out.println(files[i].getAbsolutePath()+"\'文件刪除成功\'");

          }

        }else{

          delDir(files[i]);

        }

      }

    }//留下根目錄,根目錄里面的文件和文件夾全刪了

    for (int j = 0; j < files.length; j++) {

      if (files[j].isDirectory()) {

        boolean b2 = files[j].delete();

        //dir.delete();//刪除根目錄

        if (b2) {

          System.out.println(files[j].getAbsolutePath()+"\'目錄刪除成功\'");

        }

      }

    }

    if ("F:\\day".equals(dir.getAbsolutePath())) {

      boolean b3 = dir.delete();//刪除根目錄

      if (b3) {

        System.out.println(dir.getAbsolutePath()+"\'根目錄刪除成功\'");

      }

    }

  }

  public static void main(String[] args) {

    File f=new File("F:\\day");

    delDir(f);

  }

}


刪除前


1565936765981448.png1565936734312685.png


刪除后(程序運(yùn)行后)


10.png



11.png




以上就是動(dòng)力節(jié)點(diǎn)java學(xué)院小編介紹的“java中File類的構(gòu)造函數(shù)及其方法”的內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多精彩內(nèi)容請(qǐng)關(guān)注動(dòng)力節(jié)點(diǎn)java學(xué)院官網(wǎng)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产中文字幕在线 | 91精品成人免费国产 | 国产精品久久久久天天影视 | 久草手机视频 | 亚洲成a v人片在线观看 | 久草视频观看 | 国产欧美日韩综合精品一区二区 | 四虎精品影院2022 | 四虎影视色费永久在线观看 | 国产亚洲精品激情一区二区三区 | 视频一区二区在线 | riav久久中文一区二区 | 香蕉久久夜色精品国产小说 | 欧美亚洲桃花综合 | 中文字幕精品一区二区日本大胸 | 澳门一级特黄录像免费播黄 | 久久国产亚洲精品麻豆 | 日韩精品视频在线观看免费 | 91国在线视频 | 久久久这里只有精品免费 | 日韩有码在线视频 | 国产免费一区二区三区在线观看 | 欧美亚洲国产精品久久高清 | 欧美激情特级黄aa毛片 | 精品中文字幕在线 | 99精品视频免费观看 | 羞污影院 | 一级特黄特黄毛片欧美的 | 国产第113页| 日本一级毛片在线看 | 天天干狠狠干 | 伊人久久精品午夜 | 高清毛片在线看高清 | 99re6久精品国产首页 | 国产毛片视频网站 | 国产尤物精品视频 | 成人a在线 | 国产我不卡 | 亚洲曰本大成网站mmm | 久久精品国产亚洲精品 | 免费精品美女久久久久久久久久 |