首页 > 编程语言 > 详细

java-file类 hei

时间:2020-06-11 22:56:35      阅读:71      评论:0      收藏:0      [点我收藏+]

File类

/*
java.io.File类
文件和目录轮径的抽象形式
java把电脑种的文件和文件夹,封装为一个file类,我们可以使用file类对文件和文件夹进行曹祖
使用File类的方法
    创建一个文件/文件夹
    删除文件/文件夹
    获取文件/文件夹
    判断文件夹/文件是否存在
    对文件夹进行遍历
    获取文件的大小
File类是一个于系统无关的类,任何操作系统都可以使用这个类中的方法

重点:
    file:文件
    directory 文件夹/目录
    path:路径

灵活写路径:
"C:"+File.separator+"quan"+File.separator+“config.com"


 */
import java.io.File;

public class DemoFile {
    public static void main(String[] args) {


        /*
        static String pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。
        static String separator 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。
         */
        String pathSeparator = File.pathSeparator;
        System.out.println(pathSeparator);//路径分隔符 win; linux:

        String sepatator = File.separator;
        System.out.println(sepatator);// 结果\  文件名称分隔符 win\  linux /
    }
}

 

绝对路径,相对路径:

/*
路径:
    绝对路径:一个完整的路径
    C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java
    相对路径:一个简化的路径
    src\\quan\\File\\Demo2.java
    相对路径指当前项目的根目录

 注意:
    路径是不区分大小写的
    路径中的文件名称分割符window使用反斜杠,反斜杠是转移字符,所以需要两个
 */

 

FIle类的三种构造方法:
11111

    /*
    File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
    string pathname 字符串路径名称
        可以以文件结尾,也可以以文件夹结尾
        可以相对路径,可以绝对路径
        路径可以存在,也可以不存在
        创建file对象,只把字符串路径封装为FIle对象,不考虑路径的真假情况
     */
 public static void show01(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.text");
        System.out.println(f1);
        /*
        //结果:C:\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\Demo2.text
        //重写了Object toString方法
        /
         */

        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File");
        System.out.println(f2);

        File f3 = new File("src\\quan\\File\\Demo2.java");
        System.out.println(f3);


    }

 

22222

/*
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的 File实例
    更加灵活使用
 */

 

    public static void show2 (String  parent,String child){
        File file = new File(parent,child);

    }

3333

    /*
    File(File parent, String child)
        从父抽象路径名和子路径名字符串创建新的 File实例。
        注意父路径的类型为FIle,可以使用file方法对路径进行一些操作,在使用路径创建对象

     */

 

  public static void  show3(){
        File parent = new File("c:\\");
        File file = new File(parent,"quan.txt");
        System.out.println(file);//c:\quan.txt

    }

 

常用方法

获取的方法

11111

    /*

        public String getAbsolutePath(),返回次File的绝对路径字符串
            获取构造方法总传递的路径
             无论路径是绝对路径还是相对路径,都是返回绝对路径
     */
  public static void show1 (){
        File f1 = new File("  C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java");
        String str1 = f1.getAbsolutePath();
        System.out.println(str1);

        File f2 = new File("src\\quan\\File\\Demo2.java");
        String str2 = f2.getAbsolutePath();
        System.out.println(str2);
    }
        /*
    放回置:
     C:\Users\quan\Desktop\untitled1\src\quan\File\Demo2.java
    C:\Users\quan\Desktop\untitled1\src\quan\File\Demo2.java

     */

22222

    /*
        public String getPath()获取构造的方法,返回原始的路径字符串,是什么样就是什么样
        toString方法的重写就是使用gePath去实现
     */
public static  void show2(){
        File f1 = new File("  C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java");
        File f2 = new File("src\\quan\\File\\Demo2.java");

        String s1 = f1.getPath();
        String s2 = f2.getPath();

        System.out.println(s1);
        System.out.println(s2);

        System.out.println(f1.toString());


    }
    /*
      C:\Users\quan\Desktop\untitled1\src\quan\File\Demo2.java
src\quan\File\Demo2.java
*/

 

3333

  /*
        public Sting getName:返回构造方法中的论据字符串的结尾部分,可文件可目录
     */
  public static  void show3(){
        File f1 = new File("  C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java");
        File f2 = new File("src\\quan\\File\\Demo2.java");

        String s1 = f1.getName();
        String s2 = f1.getName();

        System.out.println(s1);
        System.out.println(s2);



    }

4444

    /*
        public Long length():返回文件的长度:
        注意:
             亿字节为单位
            文件夹是没有大小概念的,不能获取文件夹的大小
            如果构造方法中的路径不存在,那里length方法返回0
     */
 public static void show4(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\交给辅导员\\宿舍人员合照\\大二2.jpg");
        //不存在的文件
        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.text");
        //文件夹
        File f3 = new File("C:\\Users\\quan\\Desktop\\All\\Java-done");
        Long le1 = f1.length();
        Long le2 = f2.length();
        Long le3 = f3.length();

        System.out.println(le1);
        System.out.println(le2);
        System.out.println(le3);


    }
    /*
    1139179
    0
    0
     */

 

判断功能

    /*
    public boolean exists():此file表示文件或目录是否实际存在
    public boolean isDirectory() 此file表示的是否是目录
    public boolean isFile()此File表示是否为文件
     */

 

    public static void show01(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java");
        System.out.println(f1.exists());

        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.text");
        System.out.println(f2.exists());

        File f3 = new File("untitled1.iml");//以项目根目录src
        System.out.println(f3.exists());

    }
    /*
    true
    false
    true
     */
    /*
    public boolean isDirectory() 此file表示的是否是目录
        判断构造方法给定的路径是否以文件结尾
    public boolean isFile()此File表示是否为文件

    注意:这两个方法互斥,且路径必须存在,否则都返回false
     */

 

    public static void show02(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.java");
        System.out.println(f1.isDirectory());
        System.out.println(f1.isFile());
        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.text");
        //判断是文件还是文件夹的时候最好先判断是否存在
        if (f2.exists()){
            System.out.println(f2.isFile());
        }
   }
/*
false
true
 */

 

创建删除功能的方法

 

    /*
    public boolean createNewFile():
    当且仅当具有改名称的文件不存在时,创建一个新的空文件
    创建文件的路径何名称在FIle的构造方法中给出
    返回:true:文件不存在,创建文件,返回true
    false 文件存在,不会创建,返回false
    注意:
        此方法只能创建文件,不能创建文件夹
        创建文件的路径必须存在,否则会抛出异常

     这个方法本来声明抛出了IOException,我们调用这个方法,就必须处理这个异常
     要么trows,要么trycatch
     */
    public static void show() throws IOException {
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\Demo2.text");
        boolean b1 = f1.createNewFile();//会出现IO异常
        System.out.println(b1);

        File f2 = new File("src\\quan\\File\\Demo3.text");//这个才是相对这个项目的相对路径
        boolean b2 = f2.createNewFile();//会出现IO异常
        System.out.println(b2);
        
    }
}

 

   /*
        public boolean mkdir():创建FIle表示的目录,只能创建单极文件夹
        public boolean mkdirs():创建此File表示目录,包括任何必须但不存在的目录
        返回:true:文件夹不存在,创建文件,返回true
         false 文件夹存在,不会创建,返回false,构造方法给出的路径不存在,返回false

     */

 

 public static void show1(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\QQQ2");
        boolean b1 = f1.mkdir();//会出现IO异常
        System.out.println(b1);

        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\111\\2222\\3");
        boolean b2 = f2.mkdirs();//会出现IO异常
        System.out.println(b2);
    }

 

 

   /*
    public boolean delete() 删除由FIle表示的问题件或目录
    此方法,可以删除构造方法路径钟给出的文件/文件夹
    返回True :文件/文件夹删除成狗
    false:文件夹钟由内容,不会删除返回false,构造方法路径不存在fasle
    注意:
        delete方法是直接在硬盘上删除,不经过回收站
     */

 

public static void show2(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\QQQ2");
        boolean b1 = f1.delete();
        System.out.println(b1);

        File f2 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File\\111\\2222\\3");
        boolean b2 = f2.delete();
        System.out.println(b2);
    }

 

 

目录的遍历

技术分享图片

 

 技术分享图片

 

 

 

    public static void show2(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File");
       String[] b1 = f1.list();
        for (String name:b1
             ) {
            System.out.print(name+"  ");
            //111  CreateDelete.java  Demo2.java  Demo2.text  Demo3.java  Demo3.text  Demo4.java  DemoFile.java  QQQ  
        }

    }

 

技术分享图片

 

 

    public static void show2(){
        File f1 = new File("C:\\Users\\quan\\Desktop\\untitled1\\src\\quan\\File");
       File[] b1 = f1.listFiles();
        for (File name:b1
             ) {
            System.out.println(name);

        }
        /*
        C:\Users\quan\Desktop\untitled1\src\quan\File\111
C:\Users\quan\Desktop\untitled1\src\quan\File\CreateDelete.java
C:\Users\quan\Desktop\untitled1\src\quan\File\Demo2.java
C:\Users\quan\Desktop\untitled1\src\quan\File\Demo2.text
C:\Users\quan\Desktop\untitled1\src\quan\File\Demo3.java
C:\Users\quan\Desktop\untitled1\src\quan\File\Demo3.text
C:\Users\quan\Desktop\untitled1\src\quan\File\Demo4.java
C:\Users\quan\Desktop\untitled1\src\quan\File\DemoFile.java
C:\Users\quan\Desktop\untitled1\src\quan\File\QQQ
         */

    }

 

java-file类 hei

原文:https://www.cnblogs.com/java-quan/p/13062733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!