zoukankan      html  css  js  c++  java
  • File类常见方法:

    File类常见方法:
    1、创建。
    boolean createNewFile(); 在指定位置创建文件,如果该文件已存在,则不创建,返回false。
    和输出流不一样,输出流对象一创建文件,而且该文件已经存在会覆盖。
    boolean mkdir():创建文件夹
    boolean mkdirs():创建多级文件夹
    2、删除。
    boolean delete(); //删除失败返回false。
    void deleteOnExit();//在程序退出时删除指定文件。
    3、判断。
    boolean exists():文件是否存在
    isFile();
    isDirectory();
    isHidden(); 判断是否为隐藏文件,java只拿不是隐藏的文件。
    isAbsolute();判断是否为绝对路径名
    4、获取信息。
    getName();
    getPath();
    getParent();

    getAbsolutePath() ;
    long lastModified() ;
    long length()

    public class FileDemo {
    
        public static void main(String[] args) throws IOException {
            
            //consMethod();
            method_5();
    
        }
        public static void method_5()
        {
            File f1 = new File("fos.txt");
            File f2 = new File("haha.java");
            
            sop("rename:"+f1.renameTo(f2));
            
        }
        public static void method_4()
        {
            File f = new File("F:\eclipseWorkspace\Bixiangdong\a.txt");
            
            sop("path:"+f.getPath());
            sop("abspath:"+f.getAbsolutePath());
            sop("parent:"+f.getParent());//该方法返回的是绝对路径中的父目录。
                                        //如果获取的是相对路径,返回空。
                                        //如果相对路径中有上一层目录,那么该目录就是返回结果。
        }
        public static void method_3() throws IOException
        {
            File f = new File("F:\eclipseWorkspace\Bixiangdong\file1.txt");
            //f.createNewFile();
            
            //f.mkdir();
            
            //记住在判断文件对象是否是文件或者目录时。必须要先判断文件对象封装的内容是否存在。
            //通过exists判断。
            sop("dir:"+f.isDirectory());
            sop("file:"+f.isFile());
            sop(f.isAbsolute());
        }
        
        public static void method_2()
        {
            File f = new File("file.txt");
            //sop("execute:"+f.canExecute());
            //sop("exists:"+f.exists());
            //创建文件夹
            File dir = new File("abc\kk\aaaa\bbbb\ccccc");
            sop("mkdir:"+dir.mkdirs());//只能创建一级目录
        }
        public static void method_1() throws IOException
        {
            File f = new File("fiele.txt");
            f.deleteOnExit();
            //sop("create:"+f.createNewFile());
            //sop("delete:"+f.delete());
            
        }
        
        //创建File对象
        public static void consMethod()
        {
            //将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象。
            File f1 = new File("a.txt");
            
            //
            File f2 = new File("F:\eclipseWorkspace\Bixiangdong","b.txt");
            
            File d = new File("F:\eclipseWorkspace\Bixiangdong");
            File f3 = new File(d,"c.txt");
            
            File f4 = new File("F:"+File.separator+"eclipseWorkspace"+File.separator+"Bixiangdong"+File.separator+"a.txt");
            sop("f1:"+f1);
            sop("f2:"+f2);
            sop("f3:"+f3);
            sop("f4:"+f4);
        }
        public static void sop(Object obj)
        {
            System.out.println(obj);
        }
    
    }
    FileDemo

    //文件过滤

    import java.io.File;
    import java.io.FilenameFilter;
    
    public class FileDemo2_5 {
    
        public static void main(String[] args) {
            
            //listDemo();
            
            File dir = new File("F:\eclipseWorkspace\Bixiangdong"); 
            File[] files = dir.listFiles();
            for(File f:files)
            {
                System.out.println(f.getName()+":"+f.length());
            }
            
            
        }
        public static void listDemo_2()
        {
            //文件过滤
                    File dir = new File("F:\eclipseWorkspace\Bixiangdong");
                    String[] arr = dir.list(new FilenameFilter()
                    {
                        public boolean accept(File dir,String name)
                        {
                            //System.out.println("dir:"+dir+"...name:"+name);
                            /*
                            if(name.endsWith(".tmp"))
                                return true;
                            else
                                return true;
                                */
                            return name.endsWith(".tmp");
                        }
                    });
                    System.out.println("len:"+arr.length);
                    for(String name:arr)
                    {
                        System.out.println(name);
                    }
        }
        public static void listDemo()
        {
            File f = new File("F:\eclipseWorkspace\Bixiangdong");
            String[] names = f.list();//调用list方法的fiel对象必须是封装了一个目录。该目录还必须存在。
            for(String name:names)
            {
                System.out.println(name);
            }
        }
        public static void listRootsDemo()
        {
            File[] files = File.listRoots();
            
            for(File f:files)
            {
                System.out.println(f.length());
            }
        }
    
    }
    FileDemo2_5

    带层次

    /*
    列出制定目录下文件或者文件夹,包含子目录中的内容。
    也就是列出制定目录下所有内容。
    
    因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可,
    在列出过程中出现的还是目录的话,可以再次调用本功能。
    也就是函数自身调用自身。
    这种表现形式,或者变成手法,称为递归。
    
    递归要注意:
    1、限定条件
    2、要注意递归的次数,尽量避免内存溢出。
    */
    public class FileDemo3_7 {
    
        public static void main(String[] args) {
            File dir = new File("F:\eclipseWorkspace\Bixiangdong");
            showDir(dir,0);
            //toBin(6);
    //        int n = getSum(100);
    //        sop(n);
        }
    /*
    带层次
    */
        public static String getLevel(int level)
        {
            StringBuilder sb = new StringBuilder();
            sb.append("!--");
            for(int x=0;x<level;x++)
            {
                //sb.append("!--");
                sb.insert(0, "!  ");
            }
            return sb.toString();
        }
        public static void showDir(File dir,int level)
        {
            System.out.println(getLevel(level)+dir.getName());
            level++;
            File[] files = dir.listFiles();
            for(int x=0;x<files.length;x++)
            {
                if(files[x].isDirectory())
                    showDir(files[x],level);
                else
                    System.out.println(getLevel(level)+files[x]);
            }
        }
        public static int getSum(int n)
        {
            if(n==1)
                return 1;
            else return n+getSum(n-1);
        }
        public static void toBin(int num)
        {
            /*
            while(num>0)
            {
                System.out.println(num%2);
                num = num/2;
            }
            */
            if(num>0)
            {
                toBin(num/2);
                System.out.println(num%2);
            }
        }
        
        public static void sop(Object obj)
        {
            System.out.println(obj);
        }
    
    }
    FileDemo3_7

    /*
    练习:
    将一个指定目录下的java文件的绝对路径,存储到一个文件文件中,
    建立一个java文件列表文件。

    思路:
    1、对指定的目录进行递归,
    2、获取递归过程中所有的java文件的路径,
    3、将这些路径存储到集合中,
    4、将集合中的数据写入到一个文件中。
    */

    public class JavaFileList_10 {
    
        public static void main(String[] args) throws IOException
        {
            File dir = new File("F:\eclipseWorkspace\Bixiangdong");
            List<File> list = new ArrayList<File>();
            fileToList(dir,list);
            System.out.println(list.size());
            File file = new File(dir,"javalist.txt");
            writeToFile(list,file.toString());
        }
        public static void fileToList(File dir,List<File> list)
        {
            File[] files = dir.listFiles();
            for(File file :files)
            {
                if(file.isDirectory())
                    fileToList(file,list);
                else
                {
                    if(file.getName().endsWith(".java"))
                        list.add(file);
                }
            }
        }
        public static void writeToFile(List<File> list,String javaFile) throws IOException
        {
            BufferedWriter bufw = null;
            try
            {
                bufw = new BufferedWriter(new FileWriter(javaFile));
                for(File f:list)
                {
                    String path = f.getAbsolutePath();
                    bufw.write(path);
                    bufw.newLine();
                    bufw.flush();
                }
            }
            catch(IOException e)
            {
                throw e;
            }
            finally
            {
                try
                {
                    if(bufw!=null)
                        bufw.close();
                }
                catch(IOException e)
                {
                    throw e;
                }
            }
        }
    
    }
    JavaFileList_10
  • 相关阅读:
    CBUUID UUIDString unrecognized selector sent to instance 错误
    利用php的序列化和反序列化来做简单的数据本地存储
    php 执行外部命令exec() system() passthru()
    php 使用 restler 框架构建 restfull api
    使用ar命令删除iOS静态库重复编译的.o文件
    c++ string 与 char 互转 以及base64
    CLGeocoder Error Domain=kCLErrorDomain Code=2
    mac air/pro 启用三指拖动手势
    osx 10.11.5 El Capitan U盘制作安装
    php cli模式下获取参数的方法
  • 原文地址:https://www.cnblogs.com/cailingsunny/p/4698601.html
Copyright © 2011-2022 走看看