一、简介
File:IO技术用于操作设备上数据的,而数据最常见的体现方式就是文件,因此先了解文件File的操作。
File是文件和目录路径名称的抽象表示形式,File只关注文件本身的信息,例如:文件名、大小、路径、可读可写等,不会关注文件的内容,要关注文件的内容,那就是IO流技术。
二、基本方法
Demo1:
public class Demo1 {
public static void main(String[] args) {
//构造和字段
File file = new File("1.txt");
File file1 = new File("2.txt");
//1、获取文件名称
String fileName = file.getName();
System.out.println("文件名为:"+fileName);
//2、获取文件大小
Long length = file.length();
System.out.println("文件的大小为:"+length);
//3、文件的父目录
System.out.println("文件的父目录为:"+file.getParent());
//4、文件的绝对路径
System.out.println(file.getAbsolutePath());
System.out.println(file.getPath());
System.out.println(file.lastModified());
System.out.println("文件是否隐藏:"+file.isHidden());
System.out.println("文件是否存在:"+file.exists());
/**
* 创建
* 如果文件存在则返回false,不存在就创建,返回true
*/
try {
boolean newFile = file.createNewFile();
System.out.println("1.txt :"+newFile);
} catch (IOException e) {
e.printStackTrace();
}
try {
boolean newFile1 = file1.createNewFile();
System.out.println("2.txt :"+newFile1);
} catch (IOException e) {
e.printStackTrace();
}
/**
* 删除
*/
boolean flag = file.isFile();
System.out.println("file是否为文件:"+flag);
boolean flag1 = file.isDirectory();
System.out.println("file是否为文件夹:"+flag1);
boolean de = file.delete();
System.out.println("删除文件:"+de);
System.out.println("文件是否存在:"+file.exists());
/**
* 创建文件夹
*/
File file2 = new File("IO1");
boolean mk = file2.mkdir();
System.out.println("文件夹创建:"+mk);
File file3 = new File("IO/a/b/c");
System.out.println(file3.mkdirs());
}
}
输出:
Demo2:
public class Demo2 {
public static void main(String[] args) throws IOException {
/**
* 1、进行文件File操作时,首先创建文件
* 返回布尔类型值,如果文件存在则返回false,不存在就创建,并返回true
*/
File file = new File("a.txt");
boolean flag = file.createNewFile();
System.out.println(flag?"创建成功":"创建失败");
}
}
输出:
Demo3:
public class Demo3 {
public static void main(String[] args) {
/**
* list()方法
*/
File dir = new File("src");
String[] names = dir.list();
for (String s:names) {
System.out.println(s);
}
System.out.println("----------");
/**
* listFiles()方法
*/
File files = new File("F://");
File[] fileName = files.listFiles();
for (File f:fileName) {
System.out.println(f);
System.out.println("文件名:"+f.getName()+",文件大小:"+f.length());
}
}
}
输出: