zl程序教程

您现在的位置是:首页 >  Java

当前栏目

文件输入输出处理(一)-File

2023-03-31 11:05:20 时间

大佬的理解->《IO流和File》

1、File类

File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件。通过调用File类提供的各种方法,能够完成创建、删除文件、重命名文件、判断文件的读写权限权限是否存在、设置和查询文件的最近修改时间等操作。

File类没有无参构造方法,最常用的是使用下面的构造方法来生成File对象(注意分隔符可以使用"/"和"",但是使用""必须写"",因为涉及转义的问题):

File(String pathName) pathName指的是文件的路径名;

File.separator

在Windows下的路径分隔符()和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常。

File中还有几个与separator类似的静态常量,与系统有关,在编程中应尽量使用。

//File.separator 表示不同系统下的路径分割符
File file = new File("D:"+File.separator+"test"+File.separator+"test1");
//File file = new File("D:/test/test1.txt");

2、创建文件

创建文件对象 File(String pathname)

//pathname 文件路径
File file = new File("D:/test/test1.txt");

创建文件 createNewFile()

File file = new File("D:/test");
//判断文件是否存在,不存在,创建
if(!file.exists()){
    try {
        //判断文件是否创建成功
        //createNewFile方法,会返回是否创建成功的结果,true成功,false失败
        if(file.createNewFile()){
            System.out.println("创建文件"+file.getName()+"成功");
        }else{
            System.out.println("创建文件"+file.getName()+"失败");
        }
    } catch (IOException e) {
        e.printStackTrace();
 }

3、创建目录(单级,多级)

mkdir() 创建单级目录
mkdirs() 创建多级目录

创建单级目录 mkdir()

File dir = new File("D:/test/test1");//目前只有text文件夹
//判断目录是否存在,如果不存在则创建
if(!dir.exists()){
    //mkdir方法,创建目录,返回是否创建成功的结果
    //mkdirs方法,创建多级目录
    if(dir.mkdir()){
    	System.out.println("创建目录成功"); //生成test1文件夹
    }else{
    	System.out.println("删创建目录失败");
    }
}else{
    System.out.println("目录存在,不需要创建");
}

创建多级目录 mkdirs()

File dirs = new File("D:/test/test1/text1_1"); //目前只有text文件夹
//改变参数和方法即可
if(dirs.mkdirs()){
	System.out.println("创建目录成功"); //生成test1文件夹及子文件夹text1_1
}else{
	System.out.println("删创建目录失败");
}

4、删除文件或目录(只能删除单级空目录)

delete()

//存在则删除,不存在,提示
File file = new File("目录或文件路径"); 
if(file.exists()){
    // delete方法,删除文件或者目录,并会返回是否删除成功的结果,true-成功,false-失败
    //注意:删除目录,只能删除当前以及的目录,并且只能是空目录
    if(file.delete()){
   	 	System.out.println("删除文件或目录成功");
    }else{
    	System.out.println("删除文件或目录失败");
    }
}else{
	System.out.println("文件或目录不存在");
}

5、File类中常见方法

file.getName() 文件名称
file.length() 文件大小
file.getPath() 文件路径
file.getAbsolutePath() 文件绝对路径

还有其他方法可以直接查看;