File是个文件类,可以用其增加、删除、查找某种类型的文件或者文件夹,同时根据其成员变量的特点可以综合利用,避免出现跨系统的时候出现错误,并且查找时最好输入绝对路径,以免出现不存在的文件。使用递归时一定要主要好停止,以免栈内存溢出。(推荐:java视频教程)
一、简述IO操作:
当需要把内存中的数据存储到持久化设备上的这个动作称为输出(写)output操作;
当把持久设备上的数据读取到内存中的这个动作称为输入(读)input操作。
这个输入和输出的动作称为IO操作。
二、File类:
文件类:
成员变量:
import java.io.File;
public class Demo01 {
public static void main(String[] args) {
//File类
//文件:File
//目录(文件夹):directory
//路径:path
//路径分隔符(与系统有关的)
System.out.println(File.pathSeparator); // ;
//与系统有关的路径名称分隔符
System.out.println(File.separator); //
}
}
构造函数:
import java.io.File;
public class Demo02 {
public static void main(String[] args) {
File file=new File("D:\java\b.txt"); //双\是转义
System.out.println(file);
File file2=new File("D:\java","a.txt");//父路径、子路径--可以适用于多个文件的!
System.out.println(file2);
File parent=new File("D:\java");
File file3=new File(parent,"a.txt");//File类的父路径、子路径
System.out.println(file3);
}
}
File类的获取及文件的创建和删除、判断:
import java.io.File;
import java.io.IOException;
public class Demo03 {
public static void main(String[] args) throws IOException {
method06();
}
public static void method01(){
File file=new File("D:\java\a.txt");
//获取文件对象的绝对路径
System.out.println(file.getAbsolutePath());
File file0=new File("src");//写相对路径的话,会自动转成绝对路径,但是不去检验文件是否真实存在(只会给翻译回来,可能根本不存在) D:JAVA0322Day16src
//获取文件对象的绝对路径
System.out.println(file0.getAbsolutePath());
File file00=new File("aa");//这个根本不存在 D:JAVA0322Day16aa
//获取文件对象的绝对路径
System.out.println(file00.getAbsolutePath());
//获取文件对象的文件名或者目录名
System.out.println(file.getName());
//获取文件对象的路径所对应的字符串 类似于toString()方法
System.out.println(file.getPath());
//获取文件的大小(字节---Long类型)
System.out.println(file.length());
}
//文件创建和删除
public static void method02() throws IOException{
File file=new File("D:\java\d");
//创建文件
boolean flag=file.createNewFile();//都是创建的文件(最好都是加上后缀的),不能是文件夹
System.out.println(flag);
}
//文件删除
public static void method03(){
File file=new File("D:\java\d");
//删除文件(找不回来了)
boolean flag=file.delete();
System.out.println(flag);
}
//文件判断
public static void method04(){
File file=new File("D:\java\a.txt");
//判断该文件对象所对应的文件是否存在
System.out.println(file.exists());
//判断该文件对象是否是文件夹
System.out.println(file.isDirectory());
//判断该文件对象是否是文件
System.out.println(file.isFile());
}
//创建文件夹
public static void method05(){
File file=new File("D:\java\d.txt");//windows系统内文件夹名字不区分大小写,最后这个是文件夹的名字
boolean flag=file.mkdir();
System.out.println(flag);
}
//创建文件夹
public static void method06(){
File file=new File("D:\java\d\a\b");//mkdirs()用于创建多级目录,经常用的方法,不加s不能创建多级目录
boolean flag=file.mkdirs();
System.out.println(flag);
}
}
更多java知识请关注java基础教程栏目。