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的同志解惑