java File基本操作,以及遞歸遍歷文件夾


java 的文件操作,相對來說是比較重要的,無論是編寫CS還是BS程序,都避免不了要與文件打交道,例如讀寫配置文件等。雖然現在很多框架都直接幫你做好了這一步!

java.io.File 底層是調用與c語言接的接口,所以我們暫時不需要知道底層是怎么實現的,再說了,也看不見,最多就是看見一個接口而已。我們只需要知道java.io.File提供給我們對文件的一些操作就行了。

1.文件的創建

  :java的文件創建可以直接通過new一個對象來實現。

  

1 File file = new File(String pathName)
2 
3 File file = new File(String parent, String child)

 

  主要的就是這兩種創建文件方式,第一種pathName是一個抽象路徑名。比如file = new File("E:/game/WM3.log"); 創建一個文件叫做E:/game/WM3.log

  第二種就是抽象路徑名加上路徑名

  文件操作的基本方法:

 1   boolean exists()  //文件是否已存在
 2 
 3   boolean createNewFile()  //當且僅當指定抽象路徑名不存在時創建一個新的空文件
 4 
 5   boolean delete()  //刪除指定抽象路徑名的文件
 6 
 7   File getAbsoluteFile()  //返回抽象路徑名抽象路徑名形式
 8 
 9   String getAbsolutePath()  //返回抽象路徑名的字符串形式
10 
11   String getName()  //返回抽象路徑名表示的文件或路徑
12 
13   long length()  //返回抽象路徑名的文件長度
14 
15   String[] list()  //返回抽象路徑名的文件或目錄的字符串數組
16 
17   File[] listFiles()  //返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件
18 
19   File[] listFiles(FileFilter filter)  //返回Filter過濾的抽象路徑名數組
20 
21   boolean mkdir()  //創建一個路徑名為目錄
22 
23   boolean mkdirs()  //創建多層的目錄,包括不存在的目錄的父目錄

 

  這些方法都是相對常用的,其他還有一些特殊環境使用的方法,當有需要是可以查API

2.遍歷抽象路徑路徑下的文件以及所有子目錄

有兩種方法實現,但是我只實現用遞歸的方法

  

 1 import java.io.File;
 2   import java.io.FileNotFoundException;
 3   import java.io.IOException;
 4   import java.io.RandomAccessFile;
 5   import java.util.ArrayList;
 6   import java.util.List;
 7 
 8   /**
 9   * 主要復習文件創建以及文件價
10   * @author heack
11   *
12   */
13   public class DirAndFile {
14 
15   File or;
16   File[] files;
17 
18   List<String> pathName = new ArrayList<String>();
19 
20   // 用於遍歷文件價
21   public void iteratorPath(String dir) {
22     or = new File(dir);
23     files = or.listFiles();
24     if (files != null) {
25       for (File file : files) {
26         if (file.isFile()) {
27           pathName.add(file.getName());
28         }else if (file.isDirectory()) {
29           iteratorPath(file.getAbsolutePath());
30         }
31       }
32     }
33   }
34 
35   public static void main(String[] args) {
36     DirAndFile and = new DirAndFile();
37     and.iteratorPath("E:/");
38       for (String list : and.pathName) {
39        System.out.println(list);
40      }
41   }
42 }

此隨筆為以后復習使用,也供新入java的同志解惑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM