IO File和递归
IO:
java数据都在内存中,一旦程序结束,数据就消失了,可以使用io操作:将内存中的数据存储到持久化设备上Output操作,将持久化设备上的数据读取到内存中Input操作;
File类的构造函数

使用构造方法创建File
File file2 = new File("src"); File file3 = new File("D:\\","java"); File file4 = new File(new File("D:\\java"),"hello.txt");
File类的获取
File file = new File("D:\\java\\hello.txt"); // 获取绝对路径 System.out.println(file.getAbsolutePath()); // 获取文件名 System.out.println(file.getName()); // 路径 System.out.println(file.getPath()); // 文件长度:字节数 System.out.println(file.length());
File类对文件操作
// 创建文件 public static void mathod01() throws IOException{ // 描述要创建的文件路径 File file = new File("D:\\java\\a"); // 创建文件 boolean flag = file.createNewFile(); System.out.println(flag); } // 删除文件或文件夹 public static void mathod02(){ // 描述要删除的文件或文件夹路径 File file = new File("D:\\java\\b"); boolean flag = file.delete(); System.out.println(flag); } // 判断文件属性 public static void mathod03(){ File file = new File("D:\\java\\hello.txt"); // 是否存在文件 System.out.println(file.exists()); // 是否是文件夹 System.out.println(file.isDirectory()); // 是否是文件 System.out.println(file.isFile()); } // 创建文件夹 public static void mathod04(){ File file = new File("D:\\io0429\\java.txt"); boolean flag = file.mkdirs(); System.out.println(flag); }
list和listFiles方法
File file = new File("D:\\java"); // 获取当前文件夹下的所有文件和文件夹的名数组 String [] files = file.list(); for(String f : files){ System.out.println(f); } // 获取当前文件夹下的所有文件和文件夹对象数组 File [] all= file.listFiles(); for(File f : all){ System.out.println(f); }
递归
指在当前方法调用自己
递归要有条件限定,保证递归可以停止,否则会导致栈内存溢出,递归次数过多也会导致栈内存溢出。
// 计算1-100的和 public static int add(int n){ if(n == 1){ return 1; } return n + add(n-1); } // 斐波那契数列 public static int create(int n ){ if(n == 1){ return 1; } if(n == 2){ return 1; } return create (n-1) + create (n-2); }

浙公网安备 33010602011771号