欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java IO實現(xiàn)電腦搜索、刪除功能的實例

 更新時間:2016年12月31日 08:48:55   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava IO實現(xiàn)電腦搜索、刪除功能的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一.遞歸方法

1.遞歸就是自己調(diào)用本身的方法,前提是有方法。

2.遞歸使用

找出遞歸的規(guī)律
遞歸要有出口條件,也就是結束條件

3.注意事項

遞歸次數(shù)不能太多,否則會出現(xiàn)堆棧溢出現(xiàn)象
遞歸不能嵌套使用,否則出現(xiàn)死遞歸

二.IO介紹

1. i為Input輸入,O為Output輸出,API單獨把輸入和輸出流封裝成一個類,提供大量的方法供我們使用。

2. IO技術可以把數(shù)據(jù)寫入到持久化設備(包括硬盤、光盤、U盤等),集合、數(shù)組雖然可以存儲讀取,但是僅僅暫存在內(nèi)存中,當重新啟動程序就不存在了。

3. 相對內(nèi)存這個參照物而言,把硬盤的東西讀到內(nèi)存中,稱為輸入流。把內(nèi)存的數(shù)據(jù)寫入到硬盤上,稱為輸出流。

三.代碼實現(xiàn)電腦搜索的功能

1.搜索自定義后綴名的文件夾

package cn.jasonFile01; 
 
import java.io.File; 
 
/** 
 * @author Jason 
 * @2016年9月18日 下午9:12:35 
 */ 
public class FindFiles04 { 
 // 成員變量的巧用 
 // 統(tǒng)計變量可以放在成員位置 
 static int countFile = 0; 
 
 public static void main(String[] args) { 
 // 封裝父類的file對象 
 File parent = new File("F:\\API"); 
 // 定義要查找文件的后綴名 
 String suffix = ".pdf"; 
 // 調(diào)用查找文件的方法 
 scanFiles(parent, suffix); 
 // 輸出滿足條件的文件個數(shù) 
 System.out.println("滿足條件的文件有" + countFile + "個"); 
 } 
 
 /** 
 * 這是查找符合條件的文件 
 * 1. 獲取當前目錄下的所有子文件及其子目錄 
 * 2. 遍歷數(shù)組判斷是否是文件 
 *  是:在滿足后綴名的情況下,直接輸出文件所在的絕對路徑,計數(shù)器加1 
 *  否:接著遞歸 
 * 注意:如果是文件(不是目錄)調(diào)用listFiles方法的話,那么返回的是null 
 */ 
 private static void scanFiles(File parent, String suffix) { 
 // 獲取當前目錄下的所有子文件及其子目錄 
 File[] files = parent.listFiles(); 
 // 防止系統(tǒng)中沒有訪問權的文件返回null值 
 if (files != null) 
  for (File file : files) { 
  if (file.isFile() && file.getName().endsWith(suffix)) { 
   System.out.println(file.getAbsolutePath()); 
   countFile++; 
  } else 
   scanFiles(file, suffix); 
  } 
 } 
} 

2.搜索自定義后綴名的文件夾

package cn.jasonFile01; 
 
import java.io.File; 
 
/** 

 * @author Jason 
 * @2016年9月18日 下午9:12:20 
 */ 
 
public class FindFolder { 
 // 定義統(tǒng)計變量 
 static int countFolder = 0; 
 
 public static void main(String[] args) { 
 // 封裝父類的file對象 
 File parent = new File("F:\\a"); 
 // 定義要查找文件的后綴名 
 String suffix = "1"; 
 // 調(diào)用查找文件夾方法 
 scanFolder(parent, suffix); 
 // 輸出滿足條件的目錄個數(shù) 
 System.out.println("滿足條件的文件夾有" + countFolder + "個"); 
 } 
 
 /** 
 * 這是查找滿足條件的文件夾個數(shù)的方法 
 * 1. 獲取當前目錄下的所有子文件及其子目錄 
 * 2. 遍歷數(shù)組判斷是否為目錄 
 *  是:接著遞歸 
 *  否:不管它 
 * 3. 后綴名相同輸出絕對路徑 
 * 注意:如果是文件(不是目錄)調(diào)用listFiles方法的話,那么返回的是null 
 */ 
 private static void scanFolder(File parent, String suffix) { 
 // 獲取父目錄下的所有子目錄及子文件 
 File[] files = parent.listFiles(); 
 if (files != null) 
  // 遍歷數(shù)組進行判斷 
  for (File file : files) { 
  if (file.isDirectory()) 
   scanFolder(file, suffix); 
  } 
  
 //免租條件的目錄輸出 
 if (parent.getName().endsWith(suffix)) { 
  System.out.println(parent.getAbsolutePath()); 
  countFolder++; 
 } 
 
 } 
} 

四.代碼實現(xiàn)電腦的徹底刪除功能

注意:Java中刪除不走回收站,請慎重使用。

package cn.jasonFile01; 
 
import java.io.File; 
 
public class ClearAll { 
 public static void main(String[] args) { 
 // 封裝父目錄為file對象 
 File parent = new File("F:\\IO修改文件名"); 
 //調(diào)用刪除方法 
 clearAll(parent); 
 
 } 
 
 /** 
 * 這是刪除父目錄下的所有子目錄和子文件的方法 
 * 1.獲取父目錄下的所有子文件及子目錄 
 * 2.變量數(shù)組并進行判斷是否是文件 
 * 是:刪除 
 * 否:進行遞歸 
 * 3.直到把目錄下的子文件到刪除完畢,那么在刪除所在的空文件 
 */ 
 private static void clearAll(File parent) { 
 // 獲取父目錄下的所有子文件及子目錄 
 File[] files = parent.listFiles(); 
 //1.防止系統(tǒng)文件不能方位而出現(xiàn)空指針異常 
 //2.防止系統(tǒng)路徑不存在導致數(shù)組為null,發(fā)生空指針異常 
 if (files != null) 
  // 遍歷數(shù)組 
  for (File file : files) { 
  if (file.isFile()) 
   file.delete(); 
  else 
   clearAll(file); 
  } 
 // 刪除文件后在刪除空文件夾 
 parent.delete(); 
 } 
} 

以上就是小編為大家?guī)淼膉ava IO實現(xiàn)電腦搜索、刪除功能的實例全部內(nèi)容了,希望大家多多支持腳本之家~

相關文章

  • Java中EnumMap的使用解析

    Java中EnumMap的使用解析

    這篇文章主要介紹了Java中EnumMap的使用解析,EnumMap?是一種特殊的?Map,它要求自身所有的鍵來自某個枚舉類型,EnumMap?的內(nèi)部可以作為一個數(shù)組來實現(xiàn),因此它們的性能非常好,你可以放心地用?EnumMap?來實現(xiàn)基于枚舉的查詢,需要的朋友可以參考下
    2023-11-11
  • Java編程獲取文本框的內(nèi)容實例解析

    Java編程獲取文本框的內(nèi)容實例解析

    這篇文章主要介紹了Java編程獲取文本框的值實例解析,將輸入的值保存在一個指定的 txt文件之中,具有一定的參考價值,需要的朋友可以了解。
    2017-09-09
  • Junit Mockito實現(xiàn)單元測試方法介紹

    Junit Mockito實現(xiàn)單元測試方法介紹

    JUnit是用于編寫和運行可重復的自動化測試開源測試項目框架,這樣可以保證我們的代碼按與其工作。JUnit可廣泛用于工業(yè)和作為支架(從命令行)或IDE(如IDE)內(nèi)單獨的java程序
    2022-09-09
  • 詳解Spring中bean的幾種注入方式

    詳解Spring中bean的幾種注入方式

    這篇文章主要介紹了詳解Spring中bean的幾種注入方式,主要介紹了4種注入,主要有屬性注入、構造函數(shù)注入、工廠方法注入,非常具有實用價值,需要的朋友可以參考下
    2018-06-06
  • Spring中Bean掃描原理詳情

    Spring中Bean掃描原理詳情

    這篇文章主要介紹了Spring中Bean掃描原理詳情,文章為榮啊主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Springboot實現(xiàn)動態(tài)定時任務流程詳解

    Springboot實現(xiàn)動態(tài)定時任務流程詳解

    通過重寫SchedulingConfigurer方法實現(xiàn)對定時任務的操作,單次執(zhí)行、停止、啟動三個主要的基本功能,動態(tài)的從數(shù)據(jù)庫中獲取配置的定時任務cron信息,通過反射的方式靈活定位到具體的類與方法中
    2022-09-09
  • springboot排除某些自動配置的操作方法

    springboot排除某些自動配置的操作方法

    Spring Boot 提供的自動配置非常強大,某些情況下,自動配置的功能可能不符合我們的需求,需要我們自定義配置,這個時候就需要排除/禁用Spring Boot 某些類的自動化配置了,本文給大家介紹springboot排除某些自動配置的方法,感興趣的朋友一起看看吧
    2023-08-08
  • 解決找不到符號 符號:變量 log問題

    解決找不到符號 符號:變量 log問題

    這篇文章主要介紹了解決找不到符號 符號: 變量 log問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • java 多線程Thread與runnable的區(qū)別

    java 多線程Thread與runnable的區(qū)別

    這篇文章主要介紹了java 多線程Thread與runnable的區(qū)別的相關資料,java線程有兩種方法繼承thread類與實現(xiàn)runnable接口,下面就提供實例幫助大家理解,需要的朋友可以參考下
    2017-08-08
  • java結合HADOOP集群文件上傳下載

    java結合HADOOP集群文件上傳下載

    這篇文章主要介紹了java結合HADOOP集群文件上傳下載的方法和示例,非常的實用,這里推薦給大家,希望大家能夠喜歡。
    2015-03-03

最新評論