溫馨提示×

溫馨提示×

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

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

java開發(fā)之File類詳細(xì)使用方法介紹

發(fā)布時(shí)間:2020-10-21 11:37:26 來源:腳本之家 閱讀:116 作者:我是java小學(xué)渣 欄目:編程語言

File類簡介

在 Java 中,F(xiàn)ile 類是 java.io 包中唯一代表磁盤文件本身的對象。File 類定義了一些與平臺(tái)無關(guān)的方法來操作文件,F(xiàn)ile類主要用來獲取或處理與磁盤文件相關(guān)的信息,像文件名、 文件路徑、訪問權(quán)限和修改日期等,還可以瀏覽子目錄層次結(jié)構(gòu)。

File 類表示處理文件和文件系統(tǒng)的相關(guān)信息。也就是說,F(xiàn)ile 類不具有從文件讀取信息和向文件寫入信息的功能,它僅描述文件本身的屬性。

File類的相關(guān)方法

1、構(gòu)造方法

File(String pathname) 通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新 File 實(shí)例。

File(String parent,String child) 根據(jù)指定的父路徑和文件路徑創(chuàng)建一個(gè)新File對象實(shí)例

File(File parent,String child) 根據(jù)指定的父路徑對象和文件路徑創(chuàng)建一個(gè)新的File對象實(shí)例

代碼實(shí)現(xiàn)過程

/*
 - File的構(gòu)造函數(shù)
 - */
 public static void main(String[] args) {
  //File(String pathname) 將指定路徑名轉(zhuǎn)換成一個(gè)File對象
  File file = new File("D:\\1.txt");
  System.out.println(file);
  //File(String parent,String child) 根據(jù)指定的父路徑和文件路徑創(chuàng)建File對象
  File file1 = new File("D:\\a","1.txt");
  System.out.println(file1);
  //File(File parent,String child) 根據(jù)指定的父路徑對象和文件路徑創(chuàng)建File對象
  File parent = new File("D:\\a");
  File file2 = new File(parent, "1.txt");
  System.out.println(file2);
  File file3 = new File(new File("D:\\a"),"1.txt");
  System.out.println(file3);

 }

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

java開發(fā)之File類詳細(xì)使用方法介紹

2、File類創(chuàng)建和刪除功能

boolean createNewFile();指定路徑不存在該文件時(shí)創(chuàng)建文件,返回true 否則false

boolean mkdir() 當(dāng)指定的單擊文件夾不存在時(shí)創(chuàng)建文件夾并返回true 否則false

boolean mkdirs() 但指定的多級文件夾在某一級文件夾不存在時(shí),創(chuàng)建多級文件夾并返回true 否則false

boolean delete() 刪除文件或者刪除單級文件夾

刪除文件夾,這個(gè)文件夾下面不能有其他的文件和文件夾

代碼實(shí)現(xiàn)過程

public static void main(String[] args) throws IOException {
 File file = new File("D:\\a\\1.txt");
 File file1 = new File("1.txt");
 boolean flag = file1.createNewFile();
 System.out.println(flag);

 File file2 = new File("b");
 boolean flag2 = file2.mkdir();
 System.out.println(flag);

 File file3 = new File("c\\d\\e");
 boolean d = file1.mkdir();
 boolean c = file1.mkdirs();
 System.out.println(d);
 System.out.println(c);
 File file4 = new File("c.txt");
 System.out.println(file4.mkdir());

 File file5 = new File("b");
 System.out.println(file2.delete());
}

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

java開發(fā)之File類詳細(xì)使用方法介紹

3、File類的判斷功能

boolean exists() 判斷指定路徑的文件或文件夾是否為空

boolean isAbsolute() 判斷當(dāng)前路徑是否是絕對路徑

boolean isDirectory() 判斷當(dāng)前的目錄是否存在

boolean isFile() 判斷當(dāng)前的目錄是否是一個(gè)文件

boolean isHidden() 判斷當(dāng)前路徑是否是一隱藏文件

代碼實(shí)現(xiàn)過程

public static void main(String[] args) throws IOException {
 // method();
 // method2();
 // method3();
 // method4();
}
//判斷文件是否存在
public static void method() throws IOException {
 File file = new File("a.txt");
 file.createNewFile();
 boolean flag = file.exists();
 System.out.println(flag);
}
//判斷當(dāng)前路徑是否為絕對路徑
public static void method2() throws IOException{
 File file = new File("D:\\a\\1.txt");
 boolean flag = file.isAbsolute();
 System.out.println(flag);
}
//判斷當(dāng)前是文件夾還是文件
public static void method3() throws IOException{
 File file = new File("1.txt");
 File file1 = new File("b");
 file1.mkdir();
 boolean flag = file.isDirectory();
 boolean flag2 = file1.isFile();
 System.out.println(flag);
 System.out.println(flag2);
}
//判斷當(dāng)前路徑是否為隱藏文件
public static void method4() throws IOException{
 File file = new File("D:\\a\\1.txt");
 System.out.println(file.isHidden());
}

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

method()

java開發(fā)之File類詳細(xì)使用方法介紹

method2()

java開發(fā)之File類詳細(xì)使用方法介紹

method3()

java開發(fā)之File類詳細(xì)使用方法介紹

method4()

java開發(fā)之File類詳細(xì)使用方法介紹

4、File類的獲取功能和修改名字功能

File getAbsoluteFile() 獲取文件的絕對路徑,返回File對象

String getAbsolutePath() 獲取文件的絕對路徑,返回路徑的字符串

String getParent() 獲取當(dāng)前路徑的父級路徑,以字符串形式返回該父級路徑

String getName() 獲取文件或文件夾的名稱

String getPath() 獲取File對象中封裝的路徑

long lastModified() 以毫秒值返回最后修改時(shí)間

long length() 返回文件的字節(jié)數(shù)

boolean renameTo(File dest) 將當(dāng)前File對象所指向的路徑修改為指定File所指向的路徑

代碼實(shí)現(xiàn)過程:

public static void main(String[] args) throws IOException {
 // method();
 // method2();
 // method3();
 // method4();
}
public static void method(){
 File file = new File("D:\\a\\1.txt");
 File file1 = new File("1.txt");
 //以File對象返回的形式返回當(dāng)前File對象所指向的絕對路徑
 System.out.println(file1.getAbsoluteFile());
 //返回File對象所指向的絕對路徑
 System.out.println(file1.getAbsolutePath());
}
public static void method2() throws IOException {
 File file = new File("a.txt");
 File file1 = new File("b","c.txt");
 System.out.println(file1.createNewFile());

 File parent = new File("b");
 File file2 = new File(parent,"c.txt");
 if (!parent.exists()){
  parent.mkdirs();
 }
 System.out.println(file2.createNewFile());
 System.out.println(file2.getParent());
 System.out.println(file2.getParentFile());
}
public static void method3() throws IOException{
 File file = new File("1.txt");
 File file1 = new File("D:\\a\\1.txt");
 File file2 = new File("b");

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

 System.out.println(file.getPath());
 System.out.println(file1.getPath());
 System.out.println(file2.getPath());

 System.out.println(file.lastModified());
 Date date = new Date(1556085068524L);
 System.out.println(date.toLocaleString());

 System.out.println(file.length());
 System.out.println(file2.length());
}
public static void method4() throws IOException{
 File file = new File("a.txt");
 File file1 = new File("e.txt");
 System.out.println(file.renameTo(file1));
}

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

method()

java開發(fā)之File類詳細(xì)使用方法介紹

method2()

java開發(fā)之File類詳細(xì)使用方法介紹

method3()

java開發(fā)之File類詳細(xì)使用方法介紹

method4()

java開發(fā)之File類詳細(xì)使用方法介紹

5、File 類的其他獲取功能

String[] list(); 以字符串的形式返回當(dāng)前路徑下所有的文件和文件夾的名稱

File[] listFile 以File對象的形式返回當(dāng)前路徑下的所有文件和文件夾名稱

Static File[] listRoots() 獲取計(jì)算機(jī)中的所有盤符

代碼實(shí)現(xiàn)過程

public static void main(String[] args) {
 //method();
 // method2();
 //method3();
}

public static void method(){
 File file = new File("b");
 File file1 = new File("D:\\QQ\\1916247350");
 File file2 = new File("e.txt");
 String[] files = file1.list();
 for (int i=0;i<files.length;i++){
  System.out.println(files[i]);
 }
}
public static void method2(){
 File file = new File("b");
 File file1 = new File("D:\\QQ\\1916247350");
 File file2 = new File("e.txt");

 File[] files = file1.listFiles();
 for (File file3 : files) {
  System.out.println(file3.getName());
 }
}
public static void method3(){
 File[] files = File.listRoots();
 for (File file : files) {
  System.out.println(file);
 }
}

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

method()

java開發(fā)之File類詳細(xì)使用方法介紹

method2()

java開發(fā)之File類詳細(xì)使用方法介紹

method(3)

java開發(fā)之File類詳細(xì)使用方法介紹

練習(xí)

1、輸出指定目錄下的所有java文件

public static void main(String[] args) {
 File file = new File("D:\\IDEA\\IDEAprogram");
 method(file);
}
public static void method(File file){
//判斷文件是夠是目錄文件
 if (file.isDirectory()){
  File[] files = file.listFiles();
  for (File file1 : files) {
  //判斷是否為文件
   if (file1.isFile()){
   //判斷文件是否是以.java結(jié)尾的文件
    if (file1.getName().endsWith(".java")){
     System.out.println(file1.getName());
    }
   }else if (file1.isDirectory()){ 
   //回調(diào),遍歷file1
    method(file1);
   }
  }
 }
}

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

java開發(fā)之File類詳細(xì)使用方法介紹

2、刪除指定的目錄(包括子目錄)

public static void main(String[] args) {
 File file = new File("D:\\a");
 method(file);
}
//刪除指定目錄下的文件
public static void method(File file){
 //刪除自己所有的子文件和子目錄
 //獲取子文件和子目錄
 if (file.isDirectory()){
  File[] files = file.listFiles();
  for (File file1 : files) {
   if (file1.isFile()){
    System.out.println(file1.getName());
    //干掉它
    file1.delete();
   }else if (file1.isDirectory()){
    //繼續(xù)查看
    method(file1);
   }
  }
  //干掉自己
  System.out.println(file.getName());
  file.delete();
 }
}

代碼運(yùn)行結(jié)果

java開發(fā)之File類詳細(xì)使用方法介紹

本文介紹了java開發(fā)過程中File類的詳細(xì)使用方法,更多關(guān)于File類使用方法請查看下面的相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI