File类是代表磁盘的文件或者文件夹(即目录),但是File对象仅仅只是代表这个文件,不是真正的文件,File对象可以对文件进行操作。
创建File类对象

package MyPackage_1;import java.io.File;public class MyClass{public static void main(String[] args) {/*注意:1.文件目录不能只使用\来表示,要使用\\或者/2.如果文件在当前项目下,可以使用抽象路径代替绝对路径,如:如果test.txt文件在当前项目,那它的抽象路径就是“test.txt”*//*第一种构造方法*/File f1=new File("C:\\Users\\26913\\Desktop\\杂项文件\\test.txt");/*第二种构造方法*/File f2=new File("C:\\Users\\26913\\Desktop\\杂项文件\\","test.txt");/*第三种构造方法*/File dir=new File("C:\\Users\\26913\\Desktop\\杂项文件\\");File f3=new File(dir,"test.txt");System.out.println(f1.getAbsoluteFile());//输出f1的绝对路径System.out.println(f2.getAbsoluteFile());//输出f2的绝对路径System.out.println(f3.getAbsoluteFile());//输出f3的绝对路径System.out.println(f1==f2);System.out.println(f1.equals(f2));}}
运行结果:
可以看到三个File类对象所代表的文件的绝对路径相同,但是“==”和“equals()方法”的结果却不一样,这是因为“==”比较的是地址和内容(这里指代表的文件的绝对路径),f1和f2代表的文件虽然相同,但是这两个对象在内存中的地址不同。
File类常用方法
package MyPackage_1;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;public class MyClass{public static void main(String[] args) {File f1=new File("C:\\Users\\26913\\Desktop\\杂项文件\\test.txt");System.out.println("所指文件是否存在:"+f1.exists());System.out.println("所指文件的绝对路径:"+f1.getAbsolutePath());System.out.println("所指文件的文件名是:"+f1.getName());System.out.println("所指文件是否是隐藏文件:"+f1.isHidden());System.out.println("所指文件的字节数:"+f1.length());Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");System.out.println("所指文件最后的修改时间:"+sdf.format(date));boolean x=f1.delete();System.out.println("删除文件是否成功:"+x);try {boolean y=f1.createNewFile();//如果文件已经存在了,那么该方法就会抛出异常,所以需要使用try-catch语句System.out.println("文件是否创建:"+y);} catch (IOException e) {e.printStackTrace();}}}
File类中对文件夹的操作



