0224 File文件
1、io
把内存中的数据存储到永久的持续化设备上的动作叫输出操作(写入)
将永久持续化设备上的数据读取到内存中的动作叫输入操作(读)
把这种输入输出的操作叫做io
2.file类
(2-1)静态常量
(1)pathSeparator:获取与系统相关的路径分隔符:windows系统就是“;”,linux系统就是“:”
(2)separator:获取与系统有关的默认名称分隔符:windows系统就是“\”,linux系统就是“/”
代码展示
System.out.println(File.separator); System.out.println(File.pathSeparator); 运行结果为 \ ;
(2-2)构造方法
(1)File (String pathname)通过给定的路径名称字符串创建一个新的file类对象
(2)File (String parent, String child)根据parent父级文件夹 和child 子级文件夹 创建一个新的file类对象
(3)File (File parent, String child) 根据parent父级file类对象和child子级文件夹 创建一个新的file类对象
代码展示
File file=new File("F:\\io1127\\demo01.txt");
System.out.println(file);
File file2=new File("F:\\io1127","demo01.txt");
System.out.println(file2);
File file3=new File(new File("F:\\io1127"),"demo01.txt");
System.out.println(file3);
运行结果
F:\io1127\demo01.txt
F:\io1127\demo01.txt
F:\io1127\demo01.txt
(2-3)file类中的方法
(1)getAbsolutePath ()获取该file类对象的绝对路径字符串,返回值是字符串类型
(2)getName ()获取该file类对象的文件或文件夹名字,返回值是字符串类型
(3)getPath()获取该file类对象的相对路径字符串,返回值是字符串类型
(4)length()获取对象的大小,返回值是long类型
代码展示
//file中的获取方法
public static void method01(){
//描述要操作的文件
File file=new File("F:\\io1127\\demo01.txt");
//File file=new File("srs");//默认是工作空间的的路径
//获取绝对路径
System.out.println(file.getAbsolutePath());
//获取文件或文件夹名
System.out.println(file.getName());
//获取路径
System.out.println(file.getPath());
//获取文件或文件夹大小
System.out.println(file.length());//长度单位是字节
}
注:如果获取的文件是不存在的,他会默认获取的是工作空间的路径
(2-4)文件的创建和删除
(1)createNewFile () 创建一个文件,返回值是布尔值
(2)delete()删除一个文件,返回值是布尔值
(3)exists()判断该文件是否存在,返回值是布尔值
(4)isDirectory() 测试文件是否是一个文件夹,返回值是布尔值
(5)isFile()测试文件是不是一个标准文件
(6)mkdir()创建指定目录
代码展示创建
//创建文件
public static void method02() throws IOException{
//明确要创建文件的位置
File file=new File("F:\\io1127\\demo02.txt");
//File file=new File("F:\\io1127\\a");
//创建文件
System.out.println(file.createNewFile());
}
注:上述中创建的a文件 当在创建时也会默认创建一个a文件,只不过文件的类型没有指定 他就是一个文件
代码展示删除
//删除文件或文件夹
public static void method03(){
//明确要删除文件的位置
File file=new File("F:\\io1127\\a");
//删除文件
System.out.println(file.delete());
}
代码展示判定
//判定
public static void method04(){
//明确文件的位置
File file=new File("F:\\io1127\\demo02.txt");
//判断是否真是存在
System.out.println(file.exists());
//判断是否是文件夹
System.out.println(file.isDirectory());
//判断是否是文件
System.out.println(file.isFile());
}
代码展示创建文件夹
//创建文件夹
public static void method05(){
//明确创建文件夹的位置
File file=new File("F:\\io1127\\a\\b\\c");
//创建文件夹
System.out.println(file.mkdirs());
}
注:mkdir()方法 只能创建一层文件夹,mkdirs()方法 可以创建多层文件夹
(2-5)listFile()方法
(1)list() 将指定file类对象的多有文件或文件夹名称存到string数组中,只能获取一层
(2)listFile()将指定file类对象中的文件或文件夹对象存到file数组中
代码展示01
//获取某目录下的文件和文件夹(名字)
public static void method06(){
//明确文件夹位置
File file=new File("F:\\io1127");
//获取
String[] names=file.list();
for(String s:names){
System.out.println(s);
}
}
运行结果:
a
demo01.txt
demo02.txt
work1
work1.txt
代码展示02
//获取某目录下的文件和文件夹对象
public static void method07(){
//明确文件夹位置
File file=new File("F:\\io1127");
//获取
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
运行结果为
F:\io1127\a
F:\io1127\demo01.txt
F:\io1127\demo02.txt
F:\io1127\work1
F:\io1127\work1.txt

浙公网安备 33010602011771号