亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中File文件操作類的基礎用法

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

前言

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

1.基本概念

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

2.構造方法

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

3.常用方法

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

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

 // 構造方法一
 File file1 = new File("f://file1");
 // 構造方法二
 File file2 = new File("f://file1", "file2");
 // 構造方法三
 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);


注:三種構造方法效果是等同的,沒有本質區(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()
// 測試此抽象路徑名表示的文件是否是一個標準文件
boolean isFile()
// 測試此抽象路徑名指定的文件是否是一個隱藏文件
boolean isHidden()
// 測試應用程序是否可以讀取此抽象路徑名表示的文件
boolean canRead()
// 測試應用程序是否可以修改此抽象路徑名表示的文件
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()
// 將此抽象路徑名轉換為一個路徑名字符串
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).迭代獲取功能,過濾器功能

// 返回一個字符串數(shù)組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄
String[] list()
// 返回一個字符串數(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結尾的文件或者目錄名
    // 控制返回值判斷是否添加到數(shù)組中
    return name.endsWith(".png");
   }
  });

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

  // 增強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結尾的文件
    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結尾的文件
   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ù)對象如果不指定盤的話,默認會將文件剪切到項目目錄下(由上面截圖可以看到);指定盤符的話會根據(jù)指定位置剪切到該位置。renameTo()方法相當于剪切加重命名。

注:更多方法查看API

總結

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

相關文章

  • Java編程一個隨機數(shù)產生模塊代碼分享

    Java編程一個隨機數(shù)產生模塊代碼分享

    這篇文章主要介紹了Java編程一個隨機數(shù)產生模塊代碼分享,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java中SpringBoot的@Transactional原理

    Java中SpringBoot的@Transactional原理

    這篇文章主要介紹了Java中SpringBoot的@Transactional原理,面向元數(shù)據(jù)遍歷已經成為越來越多開發(fā)者的偏好,因此原理從Springboot的EnableTransactionManagement注解說起,需要的朋友可以參考下
    2023-07-07
  • Guava事件總線應用場景最佳實踐

    Guava事件總線應用場景最佳實踐

    這篇文章主要為大家介紹了Guava事件總線應用場景最佳實踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 深入理解Spring AOP

    深入理解Spring AOP

    這篇文章主要介紹了深入理解Spring AOP,詳細的介紹了spring aop的具體實現(xiàn)與理論
    2017-01-01
  • 使用SpringBoot + Redis + Vue實現(xiàn)動態(tài)路由加載頁面的示例代碼

    使用SpringBoot + Redis + Vue實現(xiàn)動態(tài)路由加載頁面的示例代

    在現(xiàn)代 Web 應用開發(fā)中,動態(tài)路由加載能夠顯著提升應用的靈活性和安全性,本文將深入探討如何利用 Spring Boot、Redis、Element UI 和 Vue 技術棧實現(xiàn)動態(tài)路由加載,并通過 Redis 生成和驗證有效鏈接以實現(xiàn)頁面訪問控制,需要的朋友可以參考下
    2024-09-09
  • java 抽象類和接口的區(qū)別詳細解析

    java 抽象類和接口的區(qū)別詳細解析

    abstractclass和interface是Java語言中對于抽象類定義進行支持的兩種機制,正是由于這兩種機制的存在,才賦予了Java強大的面向對象能力,需要了解的朋友可以參考下
    2012-11-11
  • Mybatis代碼生成器Mybatis Generator(MBG)實戰(zhàn)詳解

    Mybatis代碼生成器Mybatis Generator(MBG)實戰(zhàn)詳解

    本文我們主要實戰(zhàn)Mybatis官方的代碼生成器:Mybatis Generator(MBG),掌握它以后,可以簡化大部分手寫代碼,我們只需要寫復雜邏輯代碼,需要的朋友可以參考下
    2023-05-05
  • Java?Collection?接口和常用方法綜合詳解

    Java?Collection?接口和常用方法綜合詳解

    Collection派生出三個子接口,Set代表不可重復的無序集合、List代表可重復的有序集合、Queue是java提供的隊列實現(xiàn),通過它們不斷的擴展出很多的集合類,接下來我們詳細介紹一下
    2021-11-11
  • 玩轉spring boot 結合AngularJs和JDBC(4)

    玩轉spring boot 結合AngularJs和JDBC(4)

    玩轉spring boot,這篇文章主要介紹了結合AngularJs和JDBC,玩轉spring boot,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Quarkus集成apollo配置中心

    Quarkus集成apollo配置中心

    這篇文章主要介紹了Quarkus集成apollo配置中心,文中詳細的講解了Quarkus的config構成,以及apollo集成實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02

最新評論