package File; import java.io.File; /** * 学会创建file对象,定位操做系统的文件 */ public class FileDemo { public static void main(String[] args) { //创建file对象 File f = new File("C:\\D\\EXE\\JDK\\lib\\tools.jar"); long size = f.length(); //文件的字节 System.out.println(size); //相对路径,一般定位模块中的文件,相对到工程下 File f2 = new File("untitled1/src/File/pic.PNG"); System.out.println(f2.length()); //也可以是文件加的大小 File f3 = new File("C:\\D"); System.out.println(f3.exists()); } }
package File; import java.io.File; import java.text.SimpleDateFormat; public class FileDemo2 { public static void main(String[] args) { File f = new File("untitled1/src/File/pic.PNG"); System.out.println(f.getName()); System.out.println(f.length()); System.out.println(f.getAbsolutePath()); //C:\D\IdeaProjects\java-code\untitled1\src\File\pic.PNG System.out.println(f.getPath()); //untitled1\src\File\pic.PNG //获取文件最后修改时间 long time = f.lastModified(); System.out.println("最后的修改时间:"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time)); //判断是否为文件 System.out.println(f.isFile()); System.out.println(f.isDirectory()); } }
package File; import java.io.File; public class FileDemo3 { public static void main(String[] args) { File file = new File("C:\\D\\EXE"); String[] files = file.list(); for (String s : files) { System.out.println(s); } //listFiles方法注意事项 //当调用者不存在时,返回null //当调用者是一个文件时,返回null //当调用者时一个空文件夹时,返回一个长度为0的数组 //当调用者是一个有内容的文件夹时,将所有文件和文件夹的路径放在数组中返回 //当包含隐藏文件时,将所有文件和文件夹的路径放在数组中返回 File f2 = new File("C:\\D\\EXE"); File[] files2 = f2.listFiles(); //只能遍历一级文件夹 for (File f : files2) { System.out.println(f.getAbsolutePath()); } } }
递归:就是方法直接或间接调用自己
递归死循环:递归方法无限调用自己,出现栈内存溢出
package File; package File; /** * 体验递归,求5的阶乘 和1--n的和 */ public class DiguiDemo { public static void main(String[] args) { int result =f(5); System.out.println(result); int res2=f2(5); System.out.println(res2); System.out.println(f3(1)); } public static int f(int n){ if (n==1){ return 1; }else{ return n*f(n-1); } } public static int f2(int n){ if (n==1){ return 1; }else{ return f2(n-1)+n; } } //f(x)-f(x)/2-1=f(x+1) public static int f3(int n){ if(n==10){ return 1; }else{ return 2*f3(n+1)+2; } } }