亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

瀏覽:3日期:2022-08-19 14:14:57
前言

Java文件類以抽象的方式代表文件名和目錄路徑名。該類本身不能用來讀數據或寫數據,它主要用于磁盤上文件和目錄的創建、文件的查找和文件的刪除。做一些非讀寫方面的工作,比如看看文件是否存在、是否可讀寫及遍歷文件目錄等等。要想讀寫數據,必須和其它io流的類配合使用,比如FileInputStream、FileOutputStream等。File對象代表磁盤中實際存在的文件和目錄,以下就通過一些簡單的列子介紹File的基本使用。

這是整個File簡單使用的代碼:

1 package com.tianjh; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 /** 7 * Created on 2020/12/10 8 * File類的基本使用 9 * 10 */ 11 public class FileDemo { 12 public static void main(String[] args) { 13 String dirname = 'D:/Demo'; 14 // 實例化一個File對象 15 File f1 = new File(dirname); 16 17 // 1. 遍歷指定目錄之下的所有文件 18 // 判斷f1對象是否是一個目錄 19 if (f1.isDirectory()) { 20 System.out.println('Directory of ' + dirname); 21 String[] s = f1.list(); 22 // 遍歷s數組,取出數組中的元素進行判斷 23 for (int i = 0; i < s.length; i++) { 24 File f = new File(dirname + '/' + s[i]); 25 if (f.isDirectory()) { 26 System.out.println(s[i] + ' is a directory'); 27 } else { 28 System.out.println(s[i] + ' is a file'); 29 } 30 } 31 } else { 32 // 不是一個目錄 33 System.out.println(dirname + ' is not a directory'); 34 } 35 // expected output: 36 // Directory of D:/Demo 37 // BufferedInputStream.java is a file 38 // BufferedOutputStream.java is a file 39 // childFile is a directory 40 41 /* 42 * 2. 測試指定文件是否可執行 43 * 測試應用程序是否可以執行此抽象路徑名表示的文件 44 * true: 當且僅當存在抽象路徑名,并允許應用程序執行該文件時 45 */ 46 System.out.println(dirname + ' allowed to execute? ' + f1.canExecute()); 47 // expected output: D:/Demo allowed to execute? true 48 49 50 /* 51 * 3. 測試指定文件是否可讀取 52 * 測試應用程序是否可以讀取由此抽象路徑名表示的文件 53 * true: 當且僅當此抽象路徑名指定的文件存在并可由應用程序讀取時; 54 * false: 與true相反 55 */ 56 System.out.println(dirname + ' allowed to read? ' + f1.canRead()); 57 // expected output: D:/Demo allowed to read? true 58 59 /* 60 * 4. 測試指定文件是否可寫 61 * 測試應用程序是否可以修改由此抽象路徑名表示的文件 62 * true: 當且僅當文件系統實際上包含由該抽象路徑名表示的文件并且允許應用程序寫入該文件時; 63 * false: 與true相反 64 */ 65 System.out.println(dirname + ' allowed to write? ' + f1.canWrite()); 66 // expected output: D:/Demo allowed to write? true 67 68 /* 69 * 5. 比較抽象路徑名和參數抽象路徑名是否相等 70 * 比較兩個抽象的路徑名字典是否相等 等于零則相等,小于零則抽象路徑名字典小于參數路徑字典,大于則相反 71 * 比較規則按照字典順序進行排序 72 */ 73 String s1 = 'C:/Boot'; 74 // “D:/Demo” 與 'C:/Boot' 比較 75 System.out.println(f1.compareTo(new File(s1))); 76 // expected output: 1 77 String s2 = 'D:/Deoo'; 78 // “D:/Demo” 與 'D:/Deoo' 比較 79 System.out.println(f1.compareTo(new File(s2))); 80 // expected output: -2 81 82 83 /* 84 * 6. 創建一個新文件 85 * 當且僅當具有該名稱的文件尚不存在時,原子地創建一個由該抽象路徑名命名的新的空文件 86 * true: 如果命名文件不存在并被成功創建; 87 * false: 如果命名文件已經存在 88 */ 89 File f3 = new File('/Boot'); 90 try { 91 System.out.println('/Boot file is created? ' + f3.createNewFile()); 92 // expected output: /Boot file is created? false 93 } catch (IOException e) { 94 e.printStackTrace(); 95 } 96 97 /* 98 * 7. 創建一個目錄 99 * 創建由此抽象路徑名命名的目錄100 */101 String dirnames = 'D:/tmp/boot';102 File f4 = new File(dirnames);103 // 創建一個文件夾,成功則返回true,失敗則返回false。104 // 失敗表明File對象指定的路徑已經存在,或者由于整個路徑還不存在,該文件夾不能被創建。105 System.out.println('create mkdir is ' + f4.mkdir());106 // expected output: create mkdir is true107 108 109 /*110 * 8. 創建一個目錄,包括其不存在的父級目錄111 * 創建一個文件夾和它的所有父文件夾 失敗表明File對象指定的路徑已經存在112 */113 System.out.println('create mkdirs is ' + f4.mkdirs());114 // expected output: create mkdirs is false115 116 117 /*118 * 9. 刪除文件或者目錄119 * 刪除由此抽象路徑名表示的文件或目錄120 * true當且僅當文件或目錄被成功刪除時; false否則121 */122 System.out.println(dirnames + ' deleted is ' + f4.delete());123 // expected output: D:/tmp/boot deleted is true124 125 126 /*127 * 10. 取得抽象路徑的名稱128 * 取到抽象路徑名表示的文件或目錄的名稱129 */130 System.out.println('getName is ' + f1.getName());131 // expected output: getName is Demo132 133 134 /*135 * 11. 取得抽象路徑的字符串136 * 獲得由抽象路徑名轉換為路徑名字符串137 */138 System.out.println('getPath is ' + f1.getPath());139 // expected output: getPath is D:Demo140 141 /*142 * 12. 取得抽象路徑的絕對路徑143 * 獲得此抽象路徑名的絕對路徑名字符串144 */145 System.out.println('Absolute Path is ' + f1.getAbsolutePath());146 // expected output: Absolute Path is D:Demo147 148 149 /*150 * 13. 判斷抽象路徑指定的文件或目錄是否存在151 * 測試此抽象路徑名表示的文件或目錄是否存在152 * true: 當且僅當存在由此抽象路徑名表示的文件或目錄時;153 * false: 與true相反154 */155 System.out.println(f1.exists() ? 'exist' : 'not');156 // expected output: exist157 }158 159 }FileDemo.Java下面分別介紹常用的幾種方法:

1、遍歷指定目錄之下的所有文件( 遍歷' D:/Demo '中的所有文件及目錄)

D磁盤中Demo目錄的結果如下所示:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

示例代碼:

String dirname = 'D:/Demo'; // 實例化一個File對象 File f1 = new File(dirname); // 1. 遍歷指定目錄之下的所有文件 // 判斷f1對象是否是一個目錄 if (f1.isDirectory()) { System.out.println('Directory of ' + dirname); String[] s = f1.list(); // 遍歷s數組,取出數組中的元素進行判斷 for (int i = 0; i < s.length; i++) { File f = new File(dirname + '/' + s[i]); if (f.isDirectory()) { System.out.println(s[i] + ' is a directory'); } else { System.out.println(s[i] + ' is a file'); } } } else { // 不是一個目錄 System.out.println(dirname + ' is not a directory'); } // expected output: // Directory of D:/Demo // BufferedInputStream.java is a file // BufferedOutputStream.java is a file // childFile is a directory

輸出結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

2、測試指定文件是否可執行

/* * 2. 測試指定文件是否可執行 * 測試應用程序是否可以執行此抽象路徑名表示的文件 * true: 當且僅當存在抽象路徑名,并允許應用程序執行該文件時 */ System.out.println(dirname + ' allowed to execute? ' + f1.canExecute()); // expected output: D:/Demo allowed to execute? true

3、測試指定文件是否可讀取

/* * 3. 測試指定文件是否可讀取 * 測試應用程序是否可以讀取由此抽象路徑名表示的文件 * true: 當且僅當此抽象路徑名指定的文件存在并可由應用程序讀取時; * false: 與true相反 */ System.out.println(dirname + ' allowed to read? ' + f1.canRead()); // expected output: D:/Demo allowed to read? true

4、測試指定文件是否可寫

/* * 4. 測試指定文件是否可寫 * 測試應用程序是否可以修改由此抽象路徑名表示的文件 * true: 當且僅當文件系統實際上包含由該抽象路徑名表示的文件并且允許應用程序寫入該文件時; * false: 與true相反 */ System.out.println(dirname + ' allowed to write? ' + f1.canWrite()); // expected output: D:/Demo allowed to write? true

樣例2、3、4的結果可參考Demo 的屬性

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

5、比較抽象路徑名和參數抽象路徑名是否相等,根據字典順序進行比較

/* * 5. 比較抽象路徑名和參數抽象路徑名是否相等 * 比較兩個抽象的路徑名字典是否相等 等于零則相等,小于零則抽象路徑名字典小于參數路徑字典,大于則相反 * 比較規則按照字典順序進行排序 */ String s1 = 'C:/Boot'; // “D:/Demo” 與 'C:/Boot' 比較 System.out.println(f1.compareTo(new File(s1))); // expected output: 1 String s2 = 'D:/Deoo'; // “D:/Demo” 與 'D:/Deoo' 比較 System.out.println(f1.compareTo(new File(s2))); // expected output: -2

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

6、創建一個新文件

/* * 6. 創建一個新文件 * 當且僅當具有該名稱的文件尚不存在時,原子地創建一個由該抽象路徑名命名的新的空文件 * true: 如果命名文件不存在并被成功創建; * false: 如果命名文件已經存在 */ File f3 = new File('/Boot'); try { System.out.println('/Boot file is created? ' + f3.createNewFile()); // expected output: /Boot file is created? false } catch (IOException e) { e.printStackTrace(); }

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

7、創建一個目錄

/* * 7. 創建一個目錄 * 創建由此抽象路徑名命名的目錄 */ String dirnames = 'D:/tmp/boot'; File f4 = new File(dirnames); // 創建一個文件夾,成功則返回true,失敗則返回false。 // 失敗表明File對象指定的路徑已經存在,或者由于整個路徑還不存在,該文件夾不能被創建。 System.out.println('create mkdir is ' + f4.mkdir()); // expected output: create mkdir is true

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

8、創建一個目錄,包括其不存在的父級目錄,因為在上列中創建了對應的目錄文件,所有mkdirs創建就返還false

/* * 8. 創建一個目錄,包括其不存在的父級目錄 * 創建一個文件夾和它的所有父文件夾 失敗表明File對象指定的路徑已經存在 */System.out.println('create mkdirs is ' + f4.mkdirs());// expected output: create mkdirs is false

9、刪除文件或者目錄(刪除前面創建的/tmp路徑下的boot)

/* * 9. 刪除文件或者目錄 * 刪除由此抽象路徑名表示的文件或目錄 * true當且僅當文件或目錄被成功刪除時; false否則 */ System.out.println(dirnames + ' deleted is ' + f4.delete()); // expected output: D:/tmp/boot deleted is true

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

10、取得抽象路徑的名稱

/* * 10. 取得抽象路徑的名稱 * 取到抽象路徑名表示的文件或目錄的名稱 */ System.out.println('getName is ' + f1.getName()); // expected output: getName is Demo

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

11、取得抽象路徑的字符串

/* * 11. 取得抽象路徑的字符串 * 獲得由抽象路徑名轉換為路徑名字符串 */ System.out.println('getPath is ' + f1.getPath()); // expected output: getPath is D:Demo

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

12、取得抽象路徑的絕對路徑

/* * 12. 取得抽象路徑的絕對路徑 * 獲得此抽象路徑名的絕對路徑名字符串 */ System.out.println('Absolute Path is ' + f1.getAbsolutePath()); // expected output: Absolute Path is D:Demo

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

13、判斷抽象路徑指定的文件或目錄是否存在

/* * 13. 判斷抽象路徑指定的文件或目錄是否存在 * 測試此抽象路徑名表示的文件或目錄是否存在 * true: 當且僅當存在由此抽象路徑名表示的文件或目錄時; * false: 與true相反 */ System.out.println(f1.exists() ? 'exist' : 'not'); // expected output: exist

結果:

Java File類的簡單使用教程(創建、刪除、遍歷與判斷是否存在等)

到此這篇關于Java File類簡單使用(創建、刪除、遍歷與判斷是否存在等)的文章就介紹到這了,更多相關Java File類簡單使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 日本一级特黄a大片在线 | 国产在线播放一区 | 国产美女一级做受在线观看 | 91久久久久久久 | 亚洲第一a亚洲 | 可以看的黄色网址 | 91三级在线观看 | 日韩操片 | 亚洲不卡av不卡一区二区 | 成人亚洲精品一区 | 中文字幕三级久久久久久 | 中文偷拍视频在线观看 | 欧美成人午夜不卡在线视频 | 免费的污污网站 | 国产成人精品久久二区二区 | 不卡的在线视频免费观看 | 国产老妇一性一交一乱 | 尤物视频在线网站 | a级毛片视频免费观看 | 一级免费视频 | 黄色观看视频 | 亚洲黄频| 爱爱小视频在线观看 | 毛片网在线 | 国产区精品福利在线观看精品 | 成人亚洲在线 | 国产高清免费视频 | 日韩高清在线不卡 | 成人毛片18女人毛片免费 | 色婷婷狠狠久久综合五月 | 大学生一级特黄的免费大片视频 | 亚洲精品入口一区二区在线观看 | 久久官网 | 日韩精品一级毛片 | 国产真实女人一级毛片 | 高清性色生活片欧美在线 | 国产精品单位女同事在线 | 国产综合色在线视频区色吧图片 | 国产丰满主播丝袜勾搭秀 | 在线第一福利视频观看 | 国产美女精品三级在线观看 |