电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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
相關文章:
主站蜘蛛池模板: 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 砂磨机_立式纳米砂磨机_实验室砂磨机-广州儒佳化工设备厂家 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 湖南成人高考报名-湖南成考网 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 福建珂朗雅装饰材料有限公司「官方网站」 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 非甲烷总烃分析仪|环控百科| 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 桐城新闻网—桐城市融媒体中心主办| EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 税筹星_灵活用工平台_企业财务顾问_财税法薪综合服务平台 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 软文发布平台 - 云软媒网络软文直编发布营销推广平台 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 精密模具加工制造 - 富东懿| 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 |