zoukankan      html  css  js  c++  java
  • Java 文件(File)类

    file类 的作用

        1.用于将文件或者文件夹封装成对象

        2.方便对文件与文件夹进行操作

        3.方便输入输出流的文件传输

    一、创建文件对象,将已有的和未出现的文件或者文件夹封装成对象。

    文件

    这四种方法都将C盘下的1.Java文件封装成对象。

    二、file对象的判断

    可以new file 可以创建已有的文件对象,也可以创建未存在的文件对象,那怎么去判断到底存不存在呢?

    判断

    package com.neuedu.demo01;
    import java.io.File;
    /*
     * 文件类的使用
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");
            System.out.println(f1.exists());//判断文件或目录是否存在
            System.out.println(f1.isDirectory());//判断文件对象表示的是否是一个目录
            System.out.println(f1.isFile());//判断文件对象表示的是否是一个文件
            System.out.println(f1.isAbsolute());//判断文件对象是否是一个绝对路径
            System.out.println(f1.isHidden());//判断文件对象是否是隐藏文件
        }
    }

    三、文件的创建和删除

    file类提供了一些方法,能够在计算机上常见和删除文件或者目录

    创建

    package com.neuedu.demo01;
    
    import java.io.File;
    import java.io.IOException;
    
    /*
     * 文件类的使用
     * 
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");//一个文件
            File f2=new File("E:\learnJava\hello");//一个目录
            
            if (f1.exists()) {//文件文件已经存在
                f1.delete();  //则将已经存在的文件删除
            }else {
                try {
                    f1.createNewFile();  //如果不存在,则创建出来
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if (!f2.exists()) {//如果目录不存在
                f2.mkdir();     //创建目录  f2.mkdirs();   创建多级目录  
            }else {
                f2.delete();
            }
        }
    }

    四、File相关get方法

    get

    package com.neuedu.demo01;
    
    import java.io.File;
    import java.io.IOException;
    
    /*
     * 文件类的使用
     * 
     */
    public class fileDemo {
        public static void main(String[] args) {
            File f1=new File("E:\learnJava\hello.txt");//一个文件
            File f2=new File("E:\learnJava\hello");//一个目录
            System.out.println(f1.getAbsolutePath());//获取文件对象的绝对路径,返回的是File对象----E:learnJavahello.txt
            System.out.println(f1.getAbsoluteFile());//获取文件对象的绝对路径,返回的是string-----E:learnJavahello.txt
            System.out.println(f1.getName());//获取文件对象的文件名或者是目录名----hello.txt
            System.out.println(f1.getParent());//获取文件对象的父目录,返回的是string----E:learnJava
            System.out.println(f1.getParentFile());//获取文件对象的父目录文件对象,返回的是File对象----E:learnJava
            try {
                System.out.println(f1.getCanonicalPath());  //获取文件对象的规范路径名----E:learnJavahello.txt
                System.out.println(f1.getAbsoluteFile());   //获取文件对象的规范路径形式,返回file对象----E:learnJavahello.txt
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           System.out.println(f1.getPath()); ///获取文件路径E:learnJavahello.txt
            
            }
    }

    五、递归文件目录

    文件递归

    通过list()返回文件目录中的文件和目录,返回的是字符串

    通过listFile()返回文件目录中的文件和目录,返回的是文件对象

    package com.neuedu.FileUtils;
    
    import java.io.File;
    import java.io.IOException;
    
    /**
     * 
     * @author wzc
     * 列出File的一些常用操作
     */
    public class FileUtils {
         
        /**
         * 列出指定目录下及子目录下的所有文件
         * @param dir
         * @throws IOException
         */
        public static void listDirectory(File dir)throws IOException{
            //判断目录是否存在
            if (!dir.exists()) {
                throw new IllegalArgumentException("目录"+dir+"不存在");
            }
            //判断File dir是否是目录
            if (!dir.isDirectory()) {
                throw new IllegalArgumentException(dir+"不是目录");
            }
            /*String[] list = dir.list();  //列出文件中的文件或者目录,不包括子目录下的
            for (String string : list) {
                System.out.println(string);
            }*/
            //如果需要遍历子目录下的内容就需要构造成对象,继续递归s
            File[] files = dir.listFiles();//返回直接子目录对象
            /*for (File file2 : files) {
                System.out.println(file);
            }*/
            if (files!=null && files.length>0) {
                for (File file : files) {
                    if (file.isDirectory()) {//如果子文件是目录
                        //递归
                        listDirectory(file);
                    }else{
                        System.out.println(file);//如果是文件则输出
                    }        
                }
            }
        }
    }
  • 相关阅读:
    应用服务器安装
    datasnap的线程池
    压缩OLEVARIANT数据
    服务端日志记录
    提交主从表的多个已经修改的数据
    MySQL与PostgreSQL相比哪个更好?
    Vue入门常用指令详解
    Laravel模型事件的实现原理详解
    Git 遇到了 early EOF indexpack failed 问题
    Laravel 代码开发最佳实践
  • 原文地址:https://www.cnblogs.com/Actexpler-S/p/7581466.html
Copyright © 2011-2022 走看看