在java中,对物理存储介质的文件和目录进行了抽象,使用java.io.file类来代表存储介质的文件和目录。也就是说,在java中文件被File类的对象所表示,操作file对象即为操作计算机本地的文件或目录。
该类的基本用法可以通过API文档查找,需要注意的是,在File file=new File(“a.txt”)后,a.txt文件并没有被创建在计算机中,只是创建了一个File类的对象而已,需要将其通过createNewFile();方法来在计算机中创建,相应的,创建文件夹需要f调用mkdir()方法来创建。
一些主要方法在下面实例中将会涉及:
package loca_lfile_operation;
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
//File File=new File("../../test.txt");//..代表上一级,.代表当前目录
File file1=new File("test1.txt");//当前路径下创建test1.txt文件,只是创建了file对象,并不存在
File file2=new File("G:\\", "test2.txt");//G盘下创建test2.txt文件,只是创建了file对象,并不存在
File file3=null;
File file4=new File("file4");
if (file4.mkdir()) {//创建为文件夹
System.out.println(file4.getName()+"文件夹创建成功");//读取文件名
System.out.println("file4的相对路径为:"+file4.getPath());//获取相对路径
System.out.println("file4的绝对路径为:"+file4.getAbsolutePath());//获取绝对路径
System.out.println("file4的父级路径为"+new File(file4.getAbsolutePath()).getParent());//获取父级路径
//不能用file4.getParent()方法来获取父级路径,因为定义file4对象时file4为(“file4”);是在当前相对路径下创建的
//(“file4”)的父级路径为空,因为没写出来。
}
else{
if (file4.exists()) {
System.out.println(file4.getName()+"文件夹已经存在");
}
else {
System.out.println(file4.getName()+"文件夹创建失败");
//用mkdir方法创建文件时,如果文件要创建多级路径,这个路径不存在,则无法创建成功
//如果要创建多级路径文件夹,则需要使用mkdirs方法来创建
}
}
if (file4.delete()) {//只能删除空文件夹
System.out.println("file4文件夹删除成功");
} else {
System.out.println("file4文件夹删除失败");
}
if(file1.exists()){//判断文件是否存在
System.out.println("file1是否为文件:"+file1.isFile());//判断是否为文件
System.out.println("file1是否为路径:"+file1.isDirectory());//判断是否为路径
//file1.delete();//删除文件
file2.renameTo(file1);//文件重命名,可以跨目录结构,但不能跨分区
}
else {
System.out.println("file1文件不存在");
}
try {
file1.createNewFile();//当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
file2.createNewFile();
file3=new File(new File(file2.getAbsolutePath()).getParent(),"test3.txt");
file3.createNewFile();
} catch (IOException e) {
// TODO 自动生成的 catch 块
System.out.println("文件无法被创建");
}
if(file1.exists()){
System.out.println("file1是否可写:"+file1.canWrite());//判断是否可写
System.out.println("file1是否可读"+file1.canRead());//判断是否可写
System.out.println("fliel文件大小为:"+file1.length());//返回文件大小
}
}
}