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;
}
}
}