一、什么是File类
File类创建的对象可以指带路径下的文件和路径下的目录:
1、指代目录
2、指代文件
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File ("D:\\");
File file2 =new File("E:\\01.zip");
if(file2.isDirectory()) {
System.out.println("YES");
}
if(file.isFile()) {
System.err.println("YES");
}
}
}
一、此处介绍两解释代码前先说明两个方法: isFile():判断File对象所指的路径是否为文件 返回 true false
isDirectory():判断File对象所指的路径是否为目录
二、由于不同系统中由不同的表示路径的分隔符不同:所以引出File中的静态方法:File.separator 这样很好的使程序的容错性加强
创建对象的方法
1、直接创建
2、通过父路径创建
3、通过父路径的实例化对象实现
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File("D:\\360downloads\\wpcache");
File file2=new File("D:\\360downloads","wpcache");
File file3=new File(new File("D:\\360downloads"),"wpcache");
if(file.exists()) {
System.out.println("确实存在");
}
System.out.println(file2.getPath());
System.out.println(file3.getPath());
}
}
介绍两个新的方法: getPath() 返回File的路径; exist() 判断file 路径是否存在:返回true false
二、File中的方法:
1、getName():获得最下级的名字 、getParent():获得父级的名字 String、getParentFile()返回 父级的File对象
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File("D:\\360downloads\\wpcache");
System.out.println(file.getName());
System.out.println(file.getParent());
File file2=file.getParentFile();
System.out.println(file2.getPath());
}
}
2、renameTo(File dest) ;更改指定目录的名字
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File("D:\\360downloads\\wpcache");
if(file.renameTo(new File("D:\\360downloads\\SY"))) {
System.out.println("修改成功~!!!");
}
if(new File("D:\\360downloads\\SY").exists()) {
System.out.println("证明该文件存在");
}
}
}
结果很明显: 由于修改成功 使用exist() 方法时会输出两个结果
3、创建目录 mkdir():只可以向下创建一级 mkdirs() 可以一次创建多级
一、 mkdir()
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File("E:\\");
if(new File("E:\\Jim\\Boy\\age").mkdir()) {
System.out.println("创建成功");
}else {
System.out.println("创建失败");
}
}
}
由于这次增加的目录在E盘中从Jim就开始不存在:此时由于mkdir()只能创建一级对象: 创建失败 此时应该把Jim之后的路径全部删去 D:\\Jim
二、mkdirs()
package io;
import java.io.File;
public class Learn {
public static void main(String[] args) {
File file =new File("E:\\");
if(new File("E:\\Jim\\Boy\\age").mkdirs()) {
System.out.println("创建成功");
}else {
System.out.println("创建失败");
}
if(new File("E:\\Jim\\Boy\\age").exists()){
System.out.println("真实存在");
}
}
}
如图此时真正创建了目录,喜欢的小伙伴可以查看自己的电脑中的目录,是真实存在的
4、创建文件: createNewFile() 返回布尔型 证明是否创建成功
package io;
import java.io.File;
import java.io.IOException;
public class Learn {
public static void main(String[] args) {
try {
if(new File("E:\\SY.txt").createNewFile()) {
System.out.println("创建成功!!!");
}else {
System.out.println("创建失败!!!");
}
} catch (IOException e) {
e.printStackTrace();
}
if(new File("E:\\SY.txt").exists()) {
System.out.println("创建成功!!!");
}else {
System.out.println("创建失败!!!");
}
}
}
此时在我的E盘里出现了一个SY.txt文件
5、delete() 删除文件和目录 只有该目录为空的时后才可以删除
package io;
import java.io.File;
import java.io.IOException;
public class Learn {
public static void main(String[] args) {
if(new File("E:\\SY.txt").delete()) {
System.out.println("删除成功!!!");
}else {
System.out.println("删除失败!!!");
}
if(new File("E:\\SY.txt").exists()) {
System.out.println("并未删除??");
}else {
System.out.println("已经删除!!");
}
}
}
6、list() : 输出String数组 ,其中对应目录下的文件名 listFiles() :返回 File[] 其中对应目录下成文件打包成File对象
package io;
import java.io.File;
import java.io.IOException;
public class Learn {
public static void main(String[] args) {
File file=new File("E:\\");
String [] list=file.list();
for (String string : list) {
System.out.println(string);
}
}
}
此时则样就把我E盘中的文件名全部打印(截取一部分):
二、listFiles()
package io;
import java.io.File;
import java.io.IOException;
public class Learn {
public static void main(String[] args) {
File file=new File("E:\\");
File [] files =file.listFiles();
for (File file2 : files) {
System.out.println(file2.getPath());
}
}
}
可以看出之将文件目录输出后的结果如图
Over