zoukankan      html  css  js  c++  java
  • File类---Day28

    概述

      java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 

    构造方法

      1.public File(String pathname) :通过将给定的路径名获得File对象

      2.public File(String parent, String child) :从父路径名字符串和子路径名获得File对象。

      3.public File(File parent, String child) :从父抽象路径名和子路径名获得File对象。 

     1 package demosummary.file;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  * public File(String pathname) :通过将给定的路径名获得File对象
     7  * public File(String parent, String child) :从父路径名字符串和子路径名获得File对象
     8  * public File(File parent, String child) :从父抽象路径名和子路径名获得File对象
     9  */
    10 public class FileDemo1 {
    11     public static void main(String[] args) {
    12         //public File(String pathname) :通过将给定的路径名获得File对象
    13         String pathname = "d:\a.txt";
    14         File file = new File(pathname);
    15 
    16         //public File(String parent, String child) :从父路径名字符串和子路径名获得File对象
    17         String parent = "d:\a";
    18         String child = "a.txt";
    19         File file1 = new File(parent, child);
    20 
    21         //public File(File parent, String child) :从父抽象路径名和子路径名获得File对象
    22         File parentDir = new File("d:\a");
    23         String child1 = "a.txt";
    24         File file2 = new File(parentDir, child1);
    25     }
    26 }

      备注:  

        1. 一个File对象代表硬盘中实际存在的一个文件或者目录。

        2. 无论该路径下是否存在文件或者目录,都不影响File对象的创建。

    绝对路径和相对路径(最开始已了解,再次复习)

      绝对路径:从盘符开始的路径,这是一个完整的路径。

      相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

    文件创建和删除方法

      1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。

      2.public boolean delete() :删除由此File表示的文件或目录。

      3.public boolean mkdir() :创建由此File表示的目录。

      4.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

     1 package demosummary.file;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 
     6 /**
     7  *   1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
     8  *
     9  *   2.public boolean mkdir() :创建由此File表示的目录。
    10  *
    11  *   3.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
    12  *
    13  *   4.public boolean delete() :删除由此File表示的文件或目录。
    14  */
    15 public class FileCreat {
    16     public static void main(String[] args) throws IOException {
    17         //1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
    18         File file = new File("a.txt");
    19         System.out.println("是否创建文件:"+file.createNewFile());
    20 
    21         //2.public boolean mkdir() :创建由此File表示的目录。
    22         File file1 = new File("newDir");
    23         System.out.println("是否创建目录:"+file1.mkdir());
    24 
    25         //3.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
    26         File file2 = new File("newDir\newDir");
    27         System.out.println("是否创建多级目录:"+file2.mkdirs());
    28 
    29         //4.public boolean delete() :删除由此File表示的文件或目录。
    30         System.out.println("是否删除文件:"+file.delete());
    31         System.out.println("是否删除目录:"+file2.delete());
    32         //delete方法,如果此File表示目录,则目录必须为空才能删除
    33     }
    34 }

    常用方法

      1.public String getAbsolutePath() :返回此File的绝对路径名字符串。

      2.public String getPath() :将此File转换为路径名字符串。

      3.public String getName() :返回由此File表示的文件或目录的名称。

      4.public long length() :返回由此File表示的文件的长度。 

     1 package demosummary.file.fileresources;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  *   public String getAbsolutePath() :返回此File的绝对路径名字符串。
     7  *
     8  *   public String getPath() :将此File转换为路径名字符串。
     9  *
    10  *   public String getName() :返回由此File表示的文件或目录的名称。
    11  *
    12  *   public long length() :返回由此File表示的文件的长度。
    13  */
    14 public class FileDemo2 {
    15     public static void main(String[] args) {
    16         File file = new File("d:\1.txt");
    17         System.out.println("文件的绝对路径:"+file.getAbsolutePath());
    18         System.out.println("文件的构造路径:"+file.getParent());
    19         System.out.println("文件名:"+file.getName());
    20         System.out.println("文件的长度:"+file.length());
    21         /**
    22          * 输出结果
    23          * 文件的绝对路径:d:1.txt
    24          * 文件的构造路径:d:
    25          * 文件名:1.txt
    26          * 文件的长度:15
    27          */
    28     }
    29 }

      length(),表示文件的长度。但是File对象表示目录,则返回值未指定

    文件或目录的判断方法

      1.public boolean exists() :此File表示的文件或目录是否实际存在。

      2.public boolean isDirectory() :此File表示的是否为目录。

      3.public boolean isFile() :此File表示的是否为文件。

     1 package demosummary.file;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  *   1.public boolean exists() :此File表示的文件或目录是否实际存在。
     7  *
     8  *   2.public boolean isDirectory() :此File表示的是否为目录。
     9  *
    10  *   3.public boolean isFile() :此File表示的是否为文件。
    11  */
    12 public class FileDetermine {
    13     public static void main(String[] args) {
    14         File file = new File("d://1.txt");
    15         File file1 = new File("d://1.txt");
    16         File file2 = new File("d://Download");
    17         System.out.println("文件或目录是否存在:"+file.exists());
    18         System.out.println("是否为文件:"+file1.isFile());
    19         System.out.println("是否为目录:"+file2.isDirectory());
    20         /**
    21          * 输出结果
    22          * 文件或目录是否存在:true
    23          * 是否为文件:true
    24          * 是否为目录:true
    25          */
    26 
    27     }
    28 }

    目录的遍历

      1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
      2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。

     1 package demosummary.file;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  * 1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
     7  * 2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
     8  */
     9 public class FileIterate {
    10     public static void main(String[] args) {
    11         //1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
    12         File dir = new File(".//src//demosummary//file");
    13         String[] list = dir.list();
    14         for (String s : list) {
    15             System.out.println(s);
    16         }
    17 
    18         System.out.println("--------分割线--------");
    19         
    20         //2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
    21         File[] files = dir.listFiles();
    22         for (File file : files) {
    23             System.out.println(file);
    24         }
    25 
    26         /**
    27          * 输出结果
    28          * a.txt
    29          * FileCreat.java
    30          * FileDemo1.java
    31          * FileDemo2.java
    32          * FileDetermine.java
    33          * FileIterate.java
    34          * fileresources
    35          * --------分割线--------
    36          * .srcdemosummaryfilea.txt
    37          * .srcdemosummaryfileFileCreat.java
    38          * .srcdemosummaryfileFileDemo1.java
    39          * .srcdemosummaryfileFileDemo2.java
    40          * .srcdemosummaryfileFileDetermine.java
    41          * .srcdemosummaryfileFileIterate.java
    42          * .srcdemosummaryfilefileresources
    43          */
    44     }
    45 }
     1 package demosummary.file;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  * 1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
     7  * 2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
     8  */
     9 public class FileIterate {
    10     public static void main(String[] args) {
    11         //1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
    12         File dir = new File(".//src//demosummary//file");
    13         String[] list = dir.list();
    14         for (String s : list) {
    15             System.out.println(s);
    16         }
    17 
    18         System.out.println("--------分割线--------");
    19         
    20         //2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
    21         File[] files = dir.listFiles();
    22         for (File file : files) {
    23             System.out.println(file);
    24         }
    25 
    26         /**
    27          * 输出结果
    28          * a.txt
    29          * FileCreat.java
    30          * FileDemo1.java
    31          * FileDemo2.java
    32          * FileDetermine.java
    33          * FileIterate.java
    34          * fileresources
    35          * --------分割线--------
    36          * .srcdemosummaryfilea.txt
    37          * .srcdemosummaryfileFileCreat.java
    38          * .srcdemosummaryfileFileDemo1.java
    39          * .srcdemosummaryfileFileDemo2.java
    40          * .srcdemosummaryfileFileDetermine.java
    41          * .srcdemosummaryfileFileIterate.java
    42          * .srcdemosummaryfilefileresources
    43          */
    44     }
    45 }

      调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。 

  • 相关阅读:
    [原创]K8 Struts2 Exp 20170310 S2-045(Struts2综合漏洞利用工具)
    [原创]Struts2奇葩环境任意文件上传工具
    Nmap扫描基础常用命令(包含进阶使用)
    Burp Suite Intruder中爆破模式介绍
    Debian Security Advisory(Debian安全报告) DSA-4412-1 drupal7 security update
    Debian Security Advisory(Debian安全报告) DSA-4411-1 firefox-esr security update
    Debian Security Advisory(Debian安全报告) DSA-4410-1 openjdk-8 security update
    kindeditor<=4.1.5 文件上传漏洞利用
    Access数据库SQL注入(Access SQL Injection)
    渗透测试常见开放端口及利用
  • 原文地址:https://www.cnblogs.com/hpcz190911/p/11980493.html
Copyright © 2011-2022 走看看