最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中File文件操作類的基礎(chǔ)用法

 更新時間:2018年07月03日 15:17:49   作者:MAGIC_JSS  
這篇文章主要給大家介紹了關(guān)于Java中File文件操作類基礎(chǔ)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用File類具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

眾所周知Java提供File類,讓我們對文件進(jìn)行操作,下面就來簡單整理了一下File類的用法。 話不多說了,來一起看看詳細(xì)的介紹吧

1.基本概念

File:文件和目錄路徑名的抽象表示形式,代表文件或者文件夾。

2.構(gòu)造方法

 // 根據(jù)parent抽象路徑名和child路徑名字符串創(chuàng)建一個新File實例
 File(File parent, String child)
 // 通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個新File實例
 File(String pathname)
 // 根據(jù)parent路徑名字符串和child路徑名字符串創(chuàng)建一個新File實例
 File(String parent, String child)
 // 通過將給定的file:URI轉(zhuǎn)換為一個抽象路徑名來創(chuàng)建一個新的File實例
 File(URI uri)

3.常用方法

(1).創(chuàng)建功能

// 創(chuàng)建此抽象路徑名指定的目錄
boolean mkdir()
// 創(chuàng)建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄
boolean mkdirs()
// 當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時,不可分地創(chuàng)建一個新的空文件
boolean createNewFile()
// 在默認(rèn)臨時文件目錄中創(chuàng)建一個空文件,使用給定前綴和后綴生成其名稱
static File createTempFile(String prefix, String suffix)
// 在指定目錄中創(chuàng)建一個新的空文件,使用給定的前綴和后綴字符串生成其名稱
static File createTempFile(String prefix, String suffix, File directory)

 // 構(gòu)造方法一
 File file1 = new File("f://file1");
 // 構(gòu)造方法二
 File file2 = new File("f://file1", "file2");
 // 構(gòu)造方法三
 File file3 = new File(file2, "file3.txt");

 // 創(chuàng)建目錄并返回是否創(chuàng)建成功,如果目錄存在則返回false
 boolean b1 = file1.mkdir();
 System.out.println(b1);// true
 // 創(chuàng)建目錄
 boolean b2 = file2.mkdir();
 System.out.println(b2);// true
 // 創(chuàng)建文件
 // 在F盤下創(chuàng)建/file1/file2/file3.txt文件
 boolean b3 = file3.createNewFile();
 System.out.println(b3);// true

 // 創(chuàng)建空文件并指定前綴和后綴
 // 在F盤下創(chuàng)建/file1/file2/file4.....exe文件
 File.createTempFile("file4", ".exe", file2);


注:三種構(gòu)造方法效果是等同的,沒有本質(zhì)區(qū)別;創(chuàng)建目錄mkdir()、mkdirs()方法,mkdirs()方法創(chuàng)建目錄時,如果待創(chuàng)建目錄的上幾級目錄不存在則一并創(chuàng)建,mkdir()則只能創(chuàng)建單級目錄。

(2).刪除功能

// 刪除此抽象路徑名表示的文件或目錄
boolean delete()

 //刪除目錄
 System.out.println(file1.delete()); // false
 //刪除文件
 System.out.println(file3.delete());// true

注:刪除操作時,刪除的是目錄,則必須保證是空目錄。

(3).判斷功能

// 測試此抽象路徑名表示的文件或目錄是否存在
boolean exists()
// 測試此抽象路徑名表示的文件是否是一個目錄
boolean isDirectory()
// 測試此抽象路徑名表示的文件是否是一個標(biāo)準(zhǔn)文件
boolean isFile()
// 測試此抽象路徑名指定的文件是否是一個隱藏文件
boolean isHidden()
// 測試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件
boolean canRead()
// 測試應(yīng)用程序是否可以修改此抽象路徑名表示的文件
boolean canWrite()

  File file = new File("F://hello");
  File file2 = new File(file, "blog.txt");
  // 判斷是否存在
  if (!file.exists()) {
   // 創(chuàng)建目錄
   file.mkdir();
  }
  if (file2.exists()) {
   // 創(chuàng)建文件
   file2.createNewFile();
  }

  // 判斷是否是目錄
  System.out.println(file.isDirectory());// true
  // 判斷是否是文件
  System.out.println(file.isFile());// false

  System.out.println(file2.isDirectory());// false
  System.out.println(file2.isFile());// true
  System.out.println(file2.isHidden());// false
  // 判斷是否是隱藏的
  System.out.println(file2.isHidden());// false
  // 判斷是否可讀
  System.out.println(file2.canRead());// true
  // 判斷是否可寫
  System.out.println(file2.canWrite());// true

注:可以自主修改文件可讀性,查看不同輸出。

(4).獲取功能

(1).基本獲取功能

// 返回由此抽象路徑名表示的文件或目錄的名稱
String getName()
// 返回此抽象路徑名的絕對路徑名形式
File getAbsoluteFile()
// 返回此抽象路徑名的絕對路徑名字符串
String getAbsolutePath()
// 將此抽象路徑名轉(zhuǎn)換為一個路徑名字符串
String getPath()
// 返回此抽象路徑名表示的文件最后一次被修改的時間
long lastModified()

  File file = new File("F://hello");
  File file2 = new File(file, "blog.txt");
  // 判斷文件或目錄是否存在
  if (!file.exists()) {
   // 不存在則創(chuàng)建
   file.mkdir();
  }
  if (file2.exists()) {
   // 創(chuàng)建文件
   file2.createNewFile();
  }
  //獲取文件名或者目錄名
  System.out.println(file2.getName());// blog.txt
  //獲取文件或目錄的絕對路徑
  System.out.println(file2.getAbsolutePath());// F:\hello\blog.txt
  //獲取文件或目錄的路徑名(絕對路徑或者相對路徑)
  System.out.println(file2.getPath());// F:\hello\blog.txt
  //獲取文件或目錄修改的最后時間返回毫秒值
  System.out.println(file2.lastModified());// 1463734158963

(2).迭代獲取功能,過濾器功能

// 返回一個字符串?dāng)?shù)組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄
String[] list()
// 返回一個字符串?dāng)?shù)組,這些字符串指定此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄
String[] list(FilenameFilter filter)
// 返回一個抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中的文件
File[] listFiles()
// 返回抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄
File[] listFiles(FileFilter filter)
// 返回抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄
File[] listFiles(FilenameFilter filter)

圖示:先看下F盤里面的東東


  File file = new File("F://");

  // 獲取抽象路徑名下的文件和目錄
  String[] s = file.list();
  // 過濾文件或者目錄名
  String[] ss = file.list(new FilenameFilter() {

   public boolean accept(File dir, String name) {
    // 返回以.png結(jié)尾的文件或者目錄名
    // 控制返回值判斷是否添加到數(shù)組中
    return name.endsWith(".png");
   }
  });

  // 增強(qiáng)for輸出
  for (String string : s) {
   System.out.print(string + " ");// $RECYCLE.BIN android4.0黑馬 android視頻......等等
  }

  // 增強(qiáng)for
  for (String string : ss) {
   System.out.print(string + " ");// ic_ptr_loading.png ic_ptr_pull.png ic_ptr_release.png
  }

  // 獲取抽象路徑名下的文件和目錄對象
  File[] files = file.listFiles();
  // 獲取抽象路徑名下的文件和目錄對象,添加文件過濾
  File[] files2 = file.listFiles(new FileFilter() {

   public boolean accept(File pathname) {
    // 判斷是否是隱藏目錄
    return (pathname.isDirectory()&&pathname.isHidden());
   }
  });

  // 獲取抽象路徑名下的文件和目錄對象,添加文件名過濾
  File[] files3 = file.listFiles(new FilenameFilter() {

   public boolean accept(File dir, String name) {
    // 判斷是否是以png結(jié)尾的文件
    return (new File(dir, name).isFile())&&name.endsWith(".png");
   }
  });

  for (File f : files) {
   System.out.print(f.getName()+" ");//$RECYCLE.BIN android4.0黑馬 android視頻......等等
  System.out.println();
  for (File f : files2) {
   System.out.print(f.getName()+" ");//$RECYCLE.BIN ghos 
  }
   System.out.println();
  for (File f : files3) {
   System.out.print(f.getName());//ic_ptr_loading.pngic_ptr_pull.pngic_ptr_release.png
  }

(5).重命名功能

// 重新命名此抽象路徑名表示的文件
boolean renameTo(File dest)

  // 重新命名此抽象路徑名表示的文件
  // boolean renameTo(File dest)

  File file = new File("f://");
  File[] files = file.listFiles();

  for (int i = 0; i < files.length; i++) {
   File f = files[i];
   //判斷是否是以.png結(jié)尾的文件
   if (f.isFile() && f.getName().endsWith(".png")) {
    // 更改文件名,renameTo()接收File對象 ,這里該對象并未指定盤符
    boolean b = f.renameTo(new File("pic" + i + ".png"));
    System.out.println(b);
    // true
    // true
    // true
   }
  }

圖示:

注:更改文件或目錄名時,renameTo()方法參數(shù)對象如果不指定盤的話,默認(rèn)會將文件剪切到項目目錄下(由上面截圖可以看到);指定盤符的話會根據(jù)指定位置剪切到該位置。renameTo()方法相當(dāng)于剪切加重命名。

注:更多方法查看API

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • java中對象調(diào)用成員變量與成員實例方法

    java中對象調(diào)用成員變量與成員實例方法

    在本篇文章里小編給各位分享的是關(guān)于java中對象調(diào)用成員變量與成員實例方法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-02-02
  • java 對象的序列化和反序列化詳細(xì)介紹

    java 對象的序列化和反序列化詳細(xì)介紹

    這篇文章主要介紹了java 對象的序列化和反序列化的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 如何解決Spring in action @valid驗證不生效的問題

    如何解決Spring in action @valid驗證不生效的問題

    這篇文章主要介紹了如何解決Spring in action @valid驗證不生效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 通過代碼示例了解submit與execute的區(qū)別

    通過代碼示例了解submit與execute的區(qū)別

    這篇文章主要介紹了通過代碼示例了解submit與execute的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Java實現(xiàn)自定義語言和表達(dá)式解析的解釋器模式

    Java實現(xiàn)自定義語言和表達(dá)式解析的解釋器模式

    Java解釋器設(shè)計模式通過解析自定義語言和表達(dá)式,實現(xiàn)對復(fù)雜邏輯的處理,提高程序可擴(kuò)展性和靈活性。它將語法解析和執(zhí)行過程分離,通過抽象語法樹和解釋器實現(xiàn)對語言和表達(dá)式的解析和求值,避免了硬編碼和復(fù)雜的條件判斷,提高了程序的可讀性和可維護(hù)性
    2023-04-04
  • 如何在mapper文件中使用in("str1","str2")

    如何在mapper文件中使用in("str1","str2")

    這篇文章主要介紹了如何在mapper文件中使用in("str1","str2"),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 基于spring注入為null的原因及解決方案

    基于spring注入為null的原因及解決方案

    這篇文章主要介紹了spring注入為null的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Android?Studio?中Gradle配置sonarqube插件(推薦)

    Android?Studio?中Gradle配置sonarqube插件(推薦)

    Sonarqube作為一個很實用的靜態(tài)代碼分析工具,在很多項目中都使用,本文重點(diǎn)給大家介紹Android?Studio?中Gradle配置sonarqube插件的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • Java編程—在測試中考慮多態(tài)

    Java編程—在測試中考慮多態(tài)

    這篇文章主要介紹了Java編程—在測試中考慮多態(tài),具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java實現(xiàn)大文本文件拆分

    java實現(xiàn)大文本文件拆分

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)大文本文件拆分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論

景德镇市| 温宿县| 水富县| 隆昌县| 天长市| 宁武县| 嵩明县| 清水县| 乌拉特前旗| 东港市| 广昌县| 平罗县| 崇文区| 临江市| 木兰县| 桦甸市| 辽宁省| 申扎县| 定日县| 潮安县| 茌平县| 三门县| 上虞市| 宁蒗| 平陆县| 拉萨市| 东丰县| 吉隆县| 宿州市| 永城市| 海淀区| 怀仁县| 平舆县| 平顺县| 江油市| 关岭| 孟连| 延吉市| 南平市| 唐山市| 海门市|