亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中如何使用File類的構造函數

發布時間:2021-07-14 16:36:11 來源:億速云 閱讀:122 作者:Leah 欄目:編程語言

這篇文章給大家介紹java中如何使用File類的構造函數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1、IO流(Input Output)

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

2、IO流技術的運用場景

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

3、File類的構造函數(方法)

  • File(String pathname):指定文件或者文件夾的路徑來創建一個File文件

  • File(File parent, String child):根據parent抽象路徑和child路徑名字符串,創建一個新的File實例

  • File(String parent, String child):

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

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

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");//指定路徑  [構造函數]
    file.createNewFile();//創建文件(空文件)  [方法]    
    File files = new File("F:\\","b.txt");//第一個參數是路徑,第二個參數是要創建文件的文件名  [構造函數]
    files.createNewFile();//創建文件(空文件)  [方法]
  }
}

4、File類的一些常用方法

創建:

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

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

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

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

刪除:

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

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

判斷:

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

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

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

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

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

獲取:

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

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

  • getAbsolutePath():獲取絕對路徑

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

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

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

注意:

  • . :一個點表示當前路徑

  • .. :兩個點表示上一級路徑

路徑問題:

  • 絕對路徑:該文件在硬盤上的完整路徑;絕對路徑一般是以盤符開頭的。

  • 相對路徑:資源文件相對于當前程序所在路徑。

注意:如果程序當前所在路徑與資源文件不再同一個盤下面,是沒法寫相對路徑的

5、實例

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 {
    //創建
    File file=new File("F:\\aa");
    System.out.println("創建文件成功了嗎?"+file.createNewFile());
    File dir=new File("F:\\aaa\\aaa");
    System.out.println("創建文件夾成功了嗎?"+dir.mkdir());
    File dirs=new File("F:\\aaa\\aaa\\aa\\cc\\ddd");
    System.out.println("創建多級文件夾成功了嗎?"+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();//創建一個文件
    System.out.println("該文件/文件夾存在嗎?"+fil.exists());
    System.out.println("判斷是否是一個文件:"+fil.isFile());
    System.out.println("判斷是否是一個文件夾:"+fil.isDirectory());
    System.out.println("隱藏文件嗎?"+fil.isHidden());
    System.out.println("是絕對路徑嗎?"+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");//上上級路徑下的a.txt文件
    System.out.println("獲取文件名:"+f.getName());//返回值:a.txt
    System.out.println("獲取相對路徑:"+f.getPath());//返回值:..\..\a.txt  說明:a.txt文件在C:\MyEclipse10路徑下
    /** 當上面兩條輸出語句的絕對路徑下沒有a.txt這個文件時,也是輸出這個結果,因為他獲取的是當前對象f的值*/
    System.out.println(f.exists());//返回值:true   說明:C:\MyEclipse10路徑下有a.txt文件
    System.out.println("獲取絕對路徑:"+f.getAbsolutePath());//返回值:C:\MyEclipse10\MyCode\MyJavaCode\..\..\a.txt
    System.out.println("獲取文件的大小(字節為單位):"+f.length());//返回值:10
    System.out.println("獲取文件的父路徑:"+f.getParent());//返回值:..\..  說明:其父路徑為C:\MyEclipse10
    long lm=f.lastModified();
    Date date=new Date(lm);
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");  
    System.out.println("獲取文件最后一次修改的時間:"+sdf.format(date));//返回值:2018年06月25日 11:29:49
  }
}

運行結果圖

java中如何使用File類的構造函數

附錄1

與文件夾操作相關:

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

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

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

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:\   //運行結果
       * D:\
       * E:\
       * F:\
       * G:\
       * H:\
       * */
    }
    File file=new File("F:\\MyJavaCode");
    String[] s=file.list();
    for (String string : s) {
      System.out.println(string);//返回指定目錄下的所有文件或文件夾名,包含隱藏文件(返回的文件/文件夾名是字符串,不可再對文件/文件夾進行操作)
    }
    File[] f=file.listFiles();
    for (File file2 : f) {
      System.out.println(file2.getName());//返回指定目錄下的所有文件或文件夾名,包含隱藏文件(可以再對文件/文件夾進行操作)
    }
  }
}

運行結果圖

java中如何使用File類的構造函數

java中如何使用File類的構造函數

后面兩條輸出語句的結果都一樣

附錄2

例1:

package com.dhb.file;

import java.io.File;

/**
 * @author DSHORE / 2018-6-25
 *
 */
/* 需求1:指定一個文件夾,然后返回文件夾下面所有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:正則表達式
      String fileName=file2.getName();
      if(fileName.matches(".+\\.java")){
        System.out.println(fileName);
      }
    }
  }
}

運行結果圖

java中如何使用File類的構造函數

java中如何使用File類的構造函數   

例2:

package com.dhb.file;
import java.io.File;
/**
 * @author DSHORE / 2018-6-26
 *
 */
/*
 * 需求2:指定一個文件夾,然后列出文件夾下面的所有子文件與文件夾,但是 格式要如下
 * 
 * 文件:
 *   文件名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"));
  }
}

運行結果圖

java中如何使用File類的構造函數

附錄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());//繼續掃描文件夾里面的文件和文件夾
        }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());//繼續掃描文件夾里面的文件和文件夾
    }*/
    //掃描當前磁盤
    listDirtory(File.separator);
    //掃描指定磁盤
    //listDirtory("F:\\");
  }
}

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

java中如何使用File類的構造函數

附錄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);
  }
}

刪除前

java中如何使用File類的構造函數

java中如何使用File類的構造函數

刪除后(程序運行后)

java中如何使用File類的構造函數

java中如何使用File類的構造函數

關于java中如何使用File類的構造函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙门县| 岗巴县| 台东市| 青浦区| 靖西县| 炎陵县| 阳谷县| 武清区| 平乐县| 郸城县| 西宁市| 丰县| 阳西县| 密云县| 广宁县| 余庆县| 肥城市| 清新县| 云南省| 上杭县| 景德镇市| 沙洋县| 梁平县| 江孜县| 连南| 永宁县| 山西省| 马公市| 日喀则市| 德钦县| 商丘市| 莒南县| 贺兰县| 宜昌市| 原平市| 嫩江县| 萨迦县| 闻喜县| 年辖:市辖区| 修文县| 保亭|