美文网首页
File的操作

File的操作

作者: Mango_yes | 来源:发表于2017-09-06 14:30 被阅读0次

    file的基本使用:

    File f1 = new File("1.jpg");

    File f2 = new File("C:\\myPicture\\1.jpg");

    System.out.println("f1----"+f1);

    System.out.println("f2----"+f2);

    String absolutePath = f1.getAbsolutePath();

    String absolutePath2 = f2.getAbsolutePath();

    System.out.println("f1-absolutePath:---"+absolutePath);

    System.out.println("f2-absolutePath:---"+absolutePath2);

    String path = f1.getPath();

    String path2 = f2.getPath();

    System.out.println("f1path:---"+path);

    System.out.println("f2path:---"+path2);

    String f1Name = f1.getName();

    String f2Name = f2.getName();

    System.out.println("f1Name---"+f1Name);

    System.out.println("f2Name---"+f2Name);

    long f1Length = f1.length();

    long f2Length = f2.length();

    System.out.println("f1Length---"+f1Length);

    System.out.println("f2Length---"+f2Length);

    =========================================================================

    f1----1.jpg

    f2----C:\myPicture\1.jpg

    f1-absolutePath:---D:\work\workspace\summba-site-serv-website\1.jpg

    f2-absolutePath:---C:\myPicture\1.jpg

    f1path:---1.jpg

    f2path:---C:\myPicture\1.jpg

    f1Name---1.jpg

    f2Name---1.jpg

    f1Length---0

    f2Length---29965

    =========================================================================

    createNewFile()  boolean 创建文件

    delete() boolean 执行删除,如果是文件直接删除(不去回收站,永久删除),如果是文件夹,必须是空文件夹才能被删除,

    exists() boolean

    isDirctory() boolean

    isFile() boolean

    mkdir() boolean 创建单级文件夹

    mkdirs()boolean 创建多级文件夹

    File f1 = new File("C:\\myPicture\\1.jpg");//本身存在1.jpg

    File f2 = new File("C:\\myPicture\\a.jpg");//本身不存在a.jpg

    try {

    boolean f1createNewFile = f1.createNewFile();

    boolean f2createNewFile = f2.createNewFile();

    System.out.println(f1createNewFile);//false 不执行创建。本身已有不再创建

    System.out.println(f2createNewFile);//true 执行创建。本身不存在就创建

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    =========================================================================

    list() 得到的是该文件夹下面的所有文件及目录名

    File f1dir = new File("C:\\myPicture");

    String[] fidirListNames = f1dir.list();

    for (String name : fidirListNames) {

    System.out.println(name);

    }

    1.jpg

    2.jpg

    3.jpg

    a.jpg

    wenjianjia

    =========================================================================

    listFiles()得到的是该目录下的所有目录及文件对象

    File[] listFiles = f1dir.listFiles();

    for (File file : listFiles) {

    System.out.println(file);

    }

    C:\myPicture\1.jpg

    C:\myPicture\2.jpg

    C:\myPicture\3.jpg

    C:\myPicture\a.jpg

    C:\myPicture\wenjianjia

    =========================================================================

    注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件

    1,指定的目录必须是存在的,

    2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

    文件过滤器:筛选自己想要的文件。自定义筛选条件

    File f1dir = new File("C:\\myPicture");

    File[] listFiles = f1dir.listFiles(new MyFileFilter());

    for (File file : listFiles) {

    System.out.println(file);

    }

    1.根据文件名过滤

    public classMyFileFilterimplementsFilenameFilter{

    @Override

    public boolean accept(File dir, String name) {

    // TODO Auto-generated method stub

    return name.endsWith(".txt");

    }

    }//C:\myPicture\1.txt

    2.筛选出文件夹/文件

    public class MyFileFilter implementsFileFilter{

    @Override

    public boolean accept(File pathname) {

    // TODO Auto-generated method stub

    return pathname.isDirectory();//筛选出文件夹

    //return pathname.isFile()筛选出文件

    }

    }

    相关文章

      网友评论

          本文标题:File的操作

          本文链接:https://www.haomeiwen.com/subject/ftxvjxtx.html