Java文件类

静态变量

pathSeparator,pathSeparatorChar    //系统相关路径分隔符,windows为;

separator,separatorChar     //系统相关名称分隔符,windows为

构造函数

File​(File parent, String child)   //抽象文件,路径字符串

File​(String pathname)  //完整路径字符串

File​(URI uri)   //URL对象

File​(String parent, String child)   //路径字符串,路径字符串

创建

boolean createNewFile()          //创建一个空文件

static File createTempFile​(String prefix, String suffix)       //在默认目录下依据给出的前缀后缀创建空文件

static File createTempFile​(String prefix, String suffix,File directory)   //在给定文件夹下依据给出的前缀后缀创建空文件

boolean mkdir()      //创建文件夹

boolean mkdirs()    //创建文件夹,包括不存在的目录路径

package com.company.ChapterFive;

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        File fa = new File("D:\fa");
        System.out.println(fa.createNewFile());
        File fb = new File("fb\fb");
        System.out.println(fb.mkdir());
        File fc = new File("fc\fc");
        System.out.println(fc.mkdirs());
        File fd = File.createTempFile("fdd",".txt");
        System.out.println(fd.getPath());
        File fe = File.createTempFile("fee",".txt",fc);
        System.out.println(fe.getPath());
    }
}

结果

true
false   //无fc子文件夹故返回false
true    //自动创建不存在的目录
C:UserssakuraAppDataLocalTempfdd833235313839199787.txt   //临时文件夹下
fcfcfee12493352852379829354.txt

删除

boolean delete()     

void deleteOnExit()   //虚拟机终止时删除

修改

boolean renameTo​(File dest)    //重命名所表示的文件

boolean setExecutable​(boolean executable)    

boolean setExecutable​(boolean executable, boolean ownerOnly)   //设置可执行权限

boolean setLastModified​(long time)          //设置最后修改时间

boolean setReadable​(boolean readable) 

boolean setReadable​(boolean readable, boolean ownerOnly)    //设置可读权限

boolean setReadOnly()     //设为只读文件

boolean setWritable​(boolean writable)

boolean setWritable​(boolean writable, boolean ownerOnly)   //设置可写权限

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException{
        File f = new File("f.txt");
        f.createNewFile();
        File fa = new File("fa.txt");
        if(f.renameTo(fa)) System.out.println("更名成功!");
        System.out.println(fa.getName());
        if(fa.setExecutable(true)) System.out.println("canExecute:设置成功");
        if(fa.setReadable(true)) System.out.println("canRead:设置成功");
        if(fa.setWritable(false,false)) System.out.println("canWrite:设置成功");
        if(fa.setReadOnly()) System.out.println("readOnly:设置成功");
        if(fa.setLastModified(100)) System.out.println("lastModified:"+fa.lastModified());
    }
}
//结果
/*
更名成功!
fa.txt
canExecute:设置成功
canRead:设置成功
canWrite:设置成功
readOnly:设置成功
lastModified:100
*/

查找

File getAbsoluteFile()

String getAbsolutePath()  //完整路径

File getCanonicalFile()

String getCanonicalPath()   //规范路径

String getName()     //文件名

String getParent()    

File getParentFile()    //父文件

String getPath()     //相对文件路径

long getTotalSpace()    //文件所在磁盘全部空间

long getFreeSpace()    //文件所在磁盘剩余空间

long getUsableSpace()    //文件所在磁盘剩余空间

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException{
        File f = new File("f\f");
        File fa = new File ("f\f\fa");
        f.mkdirs();
        fa.createNewFile();
        System.out.println(fa.getAbsolutePath());
        System.out.println(fa.getCanonicalPath());
        System.out.println(fa.getName());
        System.out.println(fa.getParent());
        System.out.println(fa.getPath());
        System.out.println(""+fa.getFreeSpace()/(1024*1024*1024)+"GB");
        System.out.println(""+fa.getUsableSpace()/(1024*1024*1024)+"GB");
        System.out.println(""+fa.getTotalSpace()/(1024*1024*1024)+"GB");
    }
}

//结果
/*
D:CodeThinkinJavaChapterFivefffa
D:CodeThinkinJavaChapterFivefffa
fa
ff
fffa
872GB
872GB
930GB
*/

long lastModified()    //1970到最后修改时间的毫秒数

long length()         //文件字节数

public class Test {
    public static void main(String[] args) throws IOException{
        File fa = new File("fa.txt");   //写有helloworld
        System.out.println(fa.length());   //结果为10
        System.out.println(fa.lastModified());   //结果为1564369064711,从1970年到现在的毫秒数
    }
}

判断

boolean canExecute()   //是否可执行

boolean canRead()   //是否可读

boolean canWrite()   //是否可写

boolean exists()   //是否存在

boolean isAbsolute()    //是否为完整路径

boolean isDirectory()   //是否为文件夹

boolean isFile()    //是否为文件

boolean isHidden()    //是否隐藏

public class Test {
    public static void main(String[] args) throws IOException{
        File fa = new File("fa.txt");   //写有helloworld
        System.out.println("exists:"+fa.exists());
        System.out.println("isAbsolute:"+fa.isAbsolute());
        System.out.println("isDirectory:"+fa.isDirectory());
        System.out.println("isFile:"+fa.isFile());
        System.out.println("isHidden:"+fa.isHidden());
    }
}
//结果
/*
exists:true
isAbsolute:false
isDirectory:false
isFile:true
isHidden:false
*/

其他

String[] list()

String[] list​(FilenameFilter filter) 

File[] listFiles()

File[] listFiles​(FileFilter filter)

File[] listFiles​(FilenameFilter filter)   //返回子文件列表,参数是过滤器,实现一个accept方法,返回true的文件将被放入列表中

staticFile[] listRoots()   //返回文件系统根目录列表

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException{
        File fa = new File("C:\Program Files\Intel\Media SDK");
        String list[] = fa.list(new myFilter());
        for (String s:list) {
            System.out.println(s);
        }
        File flist[] = fa.listFiles​(new FileFilter(){
            public boolean accept(File FilePath){
                return FilePath.getName().endsWith("vp");
            }
        });
        for (File fileInflist:flist) {
            System.out.println(fileInflist.getPath());
        }
        for (File rootFile:File.listRoots()) {
            System.out.println(rootFile.getAbsolutePath());
        }
    }
}


class myFilter implements FilenameFilter{
    public boolean accept(File dir,String name){
        return name.endsWith("dll");
    }
}
//结果
/*
libmfxhw32.dll
libmfxhw64.dll
mfxplugin32_hw.dll
mfxplugin64_hw.dll
mfx_mft_h264ve_32.dll
mfx_mft_h264ve_64.dll
mfx_mft_h265ve_32.dll
mfx_mft_h265ve_64.dll
mfx_mft_mjpgvd_32.dll
mfx_mft_mjpgvd_64.dll
mfx_mft_vp8vd_32.dll
mfx_mft_vp8vd_64.dll
mfx_mft_vp9vd_32.dll
mfx_mft_vp9vd_64.dll
C:Program FilesIntelMedia SDKcpa_32.vp
C:Program FilesIntelMedia SDKcpa_64.vp
C:Program FilesIntelMedia SDKdev_32.vp
C:Program FilesIntelMedia SDKdev_64.vp
C:Program FilesIntelMedia SDKh265e_32.vp
C:Program FilesIntelMedia SDKh265e_64.vp
C:Program FilesIntelMedia SDKhe_32.vp
C:Program FilesIntelMedia SDKhe_64.vp
C:Program FilesIntelMedia SDKmj_32.vp
C:Program FilesIntelMedia SDKmj_64.vp
C:
D:
*/
原文地址:https://www.cnblogs.com/lht-record/p/11256529.html