java.io 类File:文件和目录路径名的抽象表示形式;
Java把电脑中的文件和文件夹(目录)封装成一个File类,我们可以使用File类对文件和文件夹进行操作;
我们可以使用File类的方法进行以下操作:
File类是一个与系统无关的类,任何操作系统都可以使用这个类中的方法;
路径:
c:\\a.txt
c:\\a.txt --> a.txt
注意:
File类的构造方法摘要
File file=new File("D:\\");
File file2=new File(file,"java");
System.out.println(file2);//D:\java
File file=new File("D:\\");
System.out.println(file);//D:
File file1=new File("c:\\","java");
System.out.println(file1);//c:\java
注意:
String parent:父路径
String child:子路径
File类获取功能的方法
File fileget=new File("a.txt");
String absp = fileget.getAbsolutePath();
System.out.println(absp);//D:\Javacx\cx\a.txt
File fileget=new File("a.txt");
String path = fileget.getPath();
System.out.println(path);//a.txt 此处为字符串
File fileget2=new File("d:\\java\\java\\1.10.txt");
long length = fileget2.length();
System.out.println(length);//1649 文件(字节)大小
注意:
File fileget1=new File("d:\\a.txt");
String name = fileget1.getName();
System.out.println(name); //a.txt
File类判断的方法
File files=new File("d:\\java\\java\\1.10.txt");
boolean ex = files.exists();
System.out.println(ex);//true
File files=new File("d:\\java\\java\\1.10.txt");
boolean file = files.isFile();
System.out.println(file);//true 首先路径必须得存在
File files=new File("d:\\java\\java\\1.10.txt");
boolean dis = files.isDirectory();
System.out.println(dis);//false
注意:
File类创建删除的方法
File files1=new File("d:\\java\\java\\888.txt");//路径不存在的话会抛异常
boolean newFile = files1.createNewFile();
System.out.println(newFile);//false 因为已经有了该文件
注意:
false:文件存在,创建不成功返回false;
File files1=new File("d:\\java\\java\\888.txt");
boolean delete = files1.delete();
System.out.println(delete);//不走回收站
注意:
File file=new File("d:\\java\\java\\888.txt");//888.txt的文件夹
boolean mkdir = file.mkdir();
System.out.println(mkdir);//true
注意:
false:文件夹存在,不会创建,返回false,构造方法给出的路径不存在返回false
File file=new File("d:\\java\\java\\88\\66");//创建目录88以及子目录66
boolean mkdirs = file.mkdirs();//创建多级目录
System.out.println(mkdirs);//true
File类遍历(文件夹/目录)的功能
File file=new File("d:\\java\\java");
String[] list = file.list();//遍历 没用路径的字符串
for (String a:list){
System.out.println(a);
}
注意:
File file=new File("d:\\java\\java");
File[] files = file.listFiles();//遍历为路径
for (File a:files){
System.out.println(a);
}
递归(方法自己调自己)
递归分为两种:第一种直接递归,第二种间接递归;
直接递归指:方法中方法直接调用自己;
public class Dome {//直接递归
public static void main(String[] args) {
a();
}
public static void a(){
a();
}
}
间接递归指:方法调用了其他方法而其他方法又调用了自己;
public class Dome {//间接递归
public static void main(String[] args) {
a();
}
public static void a(){
b();
}
public static void b(){
a();
}
}
打印1+...+n的和案例:
public class Dome {
public static void main(String[] args) {
a(5,0);
}
public static void a(int n,int sum){
sum=n+sum;
if (n==1){
System.out.println(sum);
return;
}
a(--n,sum);
}
}
注意事项: