开始学习IO流,了解IO流的概念,掌握File类。。
Java 的 IO 流主要包括输入、输出两种 IO 流。
每种输入、输出流有可分为字节流和字符流两大类:
Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
//通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。 File(String pathname) //根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 File(String parent, String child) //通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。 File(URI uri)
//创建方法 boolean createNewFile(): 创建文件(当文件不存在时) boolean mkdir(): 创建一级目录 boolean mkdirs(): 创建多级目录 //删除方法 boolean delete(): 删除文件或目录。 //测试方法 boolean exists(): 测试文件或目录是否存在。 boolean isDirectory(): 测试文件是否为目录。 boolean isFile(): 测试文件是否为普通文件。 //查询方法 String getAbsolutePath(): 返回绝对路径名字符串。 String getParent(): 返回上级绝对路径。 //转换方法 String[] list(): 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 File[] listFiles(): 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 //其他方法 String getName(): 返回由此抽象路径名表示的文件或目录的名称。 long length(): 返回由此抽象路径名表示的文件的长度。
使用递归方法制一个多级文件夹到一个指定的目录下:
public class Test02 { /* * 复制一个多级文件夹到一个指定的目录下 */ public static void fz(String pathname,String path) throws IOException { //定位文件 File file = new File(pathname); //如果不存在 if (file.exists() == false) { throw new IOException("源文件不存在"); } //展示当下文件夹各文件名 String str[] = file.list(); //循环输出 for (String string : str) { //定位当下新文件 File f = new File(pathname+"/"+string); //如果是文件夹 if (f.isDirectory()) { //创建复制处文件夹 File newf = new File(path + "/" + string); newf.mkdir(); //递归文件夹下的文件,重复操作 fz(pathname+"/"+string, path + "/" + string); //如果是文件 }else { //创建复制处文件 File newf = new File(path + "/" + string); newf.createNewFile(); } } }