目录
1.File类的作用
2.File对象基本使用
3.实现文件遍历
4.实现文件"复制"
1)用来将文件或者文件夹封装成对象
2)方便对文件与文件夹的属性信息进行操作
3)File对象可以作为参数传递给流的构造函数
4)File对象是不可变的,一旦创建,File对象表示的抽象路径名将永不改变
?
1)路径:绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件;相对路径名必须使用取自其他路径名的信息进行解释.
2)分隔符:默认名称分隔符由系统属性file.separator定义,可通过此类的公共静态字段separator和separatorChar使其可用.
?
根据以上方法,我们可以实现对一个文件夹内所有的文件进行遍历:
class="java" name="code">public class FileDemo { public static void show(File file) { File[] files = file.listFiles(); if (files != null && files.length != 0) { for (File sub : files) { show(sub); } } System.out.println(file.getParent() + " : " + file.getName()); } public static void main(String[] args) { File file = new File("c:"); show(file); } }
执行代码后,会在控制台输出C盘下的所有文件及文件夹名.
?
这里的复制指新建文件而并不复制其内部数据,要实现数据复制需要用到后面的流:
public class FileDemo { public static void copy(File src, File dir) throws IOException { if (!dir.isDirectory()) { System.out.println("指定路径不存在"); return; } File dest = new File(dir, src.getName()); if (src.isFile()) { dest.createNewFile(); } else { dest.mkdir(); File[] files = src.listFiles(); for (File file : files) { copy(file, dest); } } } public static void main(String[] args) throws IOException { File file = new File("c:\\Program Files\\Common Files"); File dir = new File("c:\\Users\\Administrator\\Desktop"); copy(file, dir); } }
执行代码后,会将Common Files及内部的所有文件"复制"到桌面.