zoukankan      html  css  js  c++  java
  • java中关于File类的细说

    File类是我们接触的比较多的类,当初学习是真是傻傻分不清啊.今天就总结一下file的一些比较不好区分的地方.

    首先:当然就是构造方法

    File f = new File("文件路径")
    File f = new File("parent","child")

    1,创建一个文件

     //在工作空间目录下创建a.txt的文件
         File f = new File("a.txt"); 
         f.createNewFile(); 
    
         在G:路径下创建一个a.txt的文件.如果已经有的话这不会重新创建
         File f = new File("G:\a.txt"); 
         f.createNewFile();
    
        如果路径写成\a.txt,会在盘符下创建新的文件
         File f = new File("\a.txt"); 
         f.createNewFile();

    2,创建一个文件夹

     //在工作空间目录下创建a.txt的文件夹
         File f = new File("a"); 
         f.mkdir(); 
    
         在G:路径下创建一个a.txt的文件夹.如果已经有的话这不会重新创建
         File f = new File("G:\a"); 
         f.mkdir();
    
         如果路径写成\a.txt,会在盘符下创建新的文件夹
         File f = new File("\a"); 
         f.mkdir();
    
         在g盘下创建文件夹a,a 下创建一个b文件夹
         File f = new File("G:\a\b"); 
         f.mkdirs();   //注意mkdirs(),创建多个文件夹

    3,new File 的区别:

     File f = new File("a");//此时f是文件夹
    
        File f = new File("parent","child"); //此时f是文件,parent文件夹下的文件
    
    
        注意:此时会在盘符根目录下创建文件夹 或文件 d
        File f = new File("", "d");
        f.createNewFile(); // f.mkdir()

    4,list()方法与listFiles()方法区别:

    f.list();
        返回String[]数组.里面包含了f一级目录下的文件和文件夹名.
        注意: 如果f:\a\b.那么b不会包含在数组中
    
        f.listFiles()
        返回File[]数组.里面包含了f一级目录下的文件和文件夹.
        注意: 如果f:\a\b.那么b不会包含在数组中

    5,文件名过滤器 FilenameFilter

    在f1的文件夹中过滤出后缀名为 "txt"的文件
    String[] s = f1.list(new FilenameFilter() {
                /**
                 * dir 需要被过滤的文件夹 name 需要别被过滤的文  件名 .此名是相对路径
                 * 如果返回true 则证明是符合条件的文件.会将改文件返回到数组中
                 */
                @Override
                public boolean accept(File dir, String name) {
                    File f = new File(dir, name);
                    if (f.isDirectory()) {
                        return false;
                    }
    
                    if (f.getName().endsWith("txt")) {
                        return true;
                    }
    
                    return false;
                }
            });

    6,文件过滤器 FileFilter FilenameFilter

      在f1文件夹中过滤出文件长度大于20M的文件.
      File[] fs = f1.listFiles(new FileFilter() {
                /**
                 * pathname 表示要被过滤的文件,注意:不是文件名
                 * 返ture 证明是符合条件的文件
                 */
                @Override
                public boolean accept(File pathname) {
    
                    if (pathname.length() > 1024 * 1024 * 20) {
                        return true;
                    }
    
                    return false;
                }
            });  

    文件一些常用方法:

            f.delete();  //删除file
            f.exists();  //file是否存在
            f.getName(); //得到file名字
            f.isDirectory();  //file是否是文件夹
            f.isFile();    //file是否是文件
            f.length();   //file的长度

    文件路径分为两种:

    1,绝对路径  G:\a.txt  
        2,相对路径  a.txt.   //相对于工作空间的路径( G:andirodWorkspacea.txt)

    好了,文件的基本创建就是这些了.接下来整理I/O流.

  • 相关阅读:
    hdu 2066 一个人的旅行
    hdu 3790 最短路径问题(迪杰斯特拉)
    hdu 2544 最短路
    hdu 1548 A strange lift(迪杰斯特拉,邻接表)
    hdu 1035 Robot Motion
    hdu 1032 The 3n + 1 problem
    hdu 1031 Design T-Shirt
    hdu 1030 Delta-wave
    hdu1231(最大连续子序列)
    hdu1423(最长公共递增子序列)
  • 原文地址:https://www.cnblogs.com/ltb6w/p/8053197.html
Copyright © 2011-2022 走看看