《一》File 类的介绍

File 类:文件和目录路径名的抽象表示。

注意:File 类只能操作文件的属性,文件的内容是不能操作的。

 

1、File 类的字段

 

  我们知道,各个平台之间的路径分隔符是不一样的。

  ①、对于UNIX平台,绝对路径名的前缀始终为"/" 。 相对路径名没有前缀。 表示根目录的抽象路径名具有前缀"/"和空名称序列。

  ②、对于Microsoft Windows平台,包含驱动器说明符的路径名的前缀由后面跟着":"的驱动器号组成,如果路径名是绝对的,则可能后跟"\\" 。 UNC路径名的前缀为"\\\\" ; 主机名和共享名称是名称序列中的前两个名称              没有有指定驱动器的相对路径名没有前缀。

  那么为了屏蔽各个平台之间的分隔符差异,我们在构造 File 类的时候(如何构造,请看下面第二点),就可以使用上述 Java 为我们提供的字段。

?


1

2

System.out.println(File.separator);//输出 \  

        System.out.println(File.pathSeparator);//输出 ;

  那么我们可以看出:

    File.pathSeparator指的是分隔连续多个路径字符串的分隔符

    File.separator是用来分隔同一个路径字符串中的目录的

 

 

2、File 类的构造方法

如何使用上述构造方法,请看如下例子:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

//不使用 Java 提供的分隔符字段,注意:这样写只能在 Windows 平台有效

        File f1 = new File("D:\\IO\\a.txt");

        //使用 Java 提供的分隔符

        File f2 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");

        System.out.println(f1);//输出 D:\IO\a.txt  

        System.out.println(f2);//输出 D:\IO\a.txt

         

        //File(File parent, String child)

        //从父抽象路径名和子路径名字符串创建新的 File实例。

        File f3 = new File("D:");

        File f4 = new File(f3,"IO");

        System.out.println(f4); //D:\IO

         

        //File(String pathname)

        //通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。

        File f5 = new File("D:"+File.separator+"IO"+File.separator+"a.txt");

        System.out.println(f5); //D:\IO\a.txt

         

        //File(String parent, String child)

        //从父路径名字符串和子路径名字符串创建新的 File实例。

        File f6 = new File("D:","IO\\a.txt");

        System.out.println(f6); //D:\IO\a.txt

  

 

3、File 类的常用方法

  ①、创建方法

    1.boolean createNewFile() 不存在返回true 存在返回false
    2.boolean mkdir() 创建目录,如果上一级目录不存在,则会创建失败
    3.boolean mkdirs() 创建多级目录,如果上一级目录不存在也会自动创建

 

  ②、删除方法

    1.boolean delete() 删除文件或目录,如果表示目录,则目录下必须为空才能删除
    2.boolean deleteOnExit() 文件使用完成后删除

 

  ③、判断方法

    1.boolean canExecute()判断文件是否可执行
    2.boolean canRead()判断文件是否可读
    3.boolean canWrite() 判断文件是否可写
    4.boolean exists() 判断文件或目录是否存在
    5.boolean isDirectory()  判断此路径是否为一个目录
    6.boolean isFile()  判断是否为一个文件
    7.boolean isHidden()  判断是否为隐藏文件
    8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

 

   ④、获取方法

    1.String getName() 获取此路径表示的文件或目录名称
    2.String getPath() 将此路径名转换为路径名字符串
    3.String getAbsolutePath() 返回此抽象路径名的绝对形式
    4.String getParent()//如果没有父目录返回null
    5.long lastModified()//获取最后一次修改的时间
    6.long length() 返回由此抽象路径名表示的文件的长度。
    7.boolean renameTo(File f) 重命名由此抽象路径名表示的文件。
    8.File[] liseRoots()//获取机器盘符
    9.String[] list()  返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
    10.String[] list(FilenameFilter filter) 返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。

 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

//File(File parent, String child)

        //从父抽象路径名和子路径名字符串创建新的 File实例。

        File dir = new File("D:"+File.separator+"IO");

        File file = new File(dir,"a.txt");

         

        //判断dir 是否存在且表示一个目录

        if(!(dir.exists()||dir.isDirectory())){

            //如果 dir 不存在,则创建这个目录

            dir.mkdirs();

            //根据目录和文件名,创建 a.txt文件

            file.createNewFile();

 

        }

        //返回由此抽象路径名表示的文件或目录的名称。 这只是路径名称序列中的最后一个名字。 如果路径名的名称序列为空,则返回空字符串。

        System.out.println(file.getName()); //a.txt

        //返回此抽象路径名的父null的路径名字符串,如果此路径名未命名为父目录,则返回null。

        System.out.println(file.getParent());//D:\IO

        //将此抽象路径名转换为路径名字符串。 结果字符串使用default name-separator character以名称顺序分隔名称。

        System.out.println(file.getPath()); //D:\IO\a.txt

 

 

4、File 的一些技巧

  ①、打印给定目录下的所有文件夹和文件夹里面的内容 

?


1

2

3

4

5

6

7

8

9

10

11

public static void getFileList(File file){

        //第一级子目录

        File[] files = file.listFiles();

        for(File f:files){

            //打印目录和文件

            System.out.println(f);

            if(f.isDirectory()){

                getFileList(f);

            }

        }

    }

  测试:

?


1

2

3

4

public static void main(String[] args) throws Exception {

        File f = new File("D:"+File.separator+"WebStormFile");

        getFileList(f);

    }

时间: 2024-10-18 12:42:17

《一》File 类的介绍的相关文章

Java File类的介绍

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有两个组件: 一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名,以及 零个或更多字符串名称 的序列. 除了最后一个,抽象路径名中的每个名称代表一个目录:最后一个名称既可以代表目录,也可以代表文件.空的 抽象路径名没有前缀和名称序列. 路径

JavaSE File类详细介绍

一.创建文件对象的三种形式 package cn.itcast.file; import java.io.File; public class FileDemo { public static void main(String[] args) { File file=new File("E:\\demo\\a.txt"); File file2=new File("E:\\demo", "a.txt"); File file3=new File(

黑马程序员——Java I/O流基础知识点(File类)

File工具 File类就是用俩将文件或者文件夹封装对象,弥补流对象的不足--流只能操作数据,不能操作文件夹的 封装的是路径!!! 构造方法演示 1.可以将已有的未出现的文件或者文件夹封装成对象. File f1=new File("c:\\abc\\a.txt"): File f2=new File("d:\\abc","ab.txt"打印,会打印路径.:目录分隔符,为了更好地跨平台File. File类常见功能 1,创建 createNewF

JAVA File类 分析(三)

前面两篇与大家一起研究了unix下的文件系统,本篇将和大家一起分析 文件的属性和文件夹. ok,废话不说,先来段代码 #include <stdio.h> #include <sys/types.h> #include <dirent.h> void do_ls(char[]); void main(int ac,char *av[]){ if(ac==1) do_ls("."); else{ while(--ac){ printf("%s

C#中File类的文件操作方法详解

File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件.File类方法的参量很多时候都是路径path.File的一些方法可以返回FileStream和StreamWriter的对象.可以和他们配套使用. System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开

探究java IO之File类

尽管java.io定义的大多数类用于操作流,但File类却不是.File类直接处理文件和文件系统.也就是说,File类没有指定如何从文件检索信息以及如何向文件中存储信息,而是描述了文件本身的属性.File对象用于获取和操作与磁盘文件关联的信息,例如权限,时间日期以及目录路径,并且还可以浏览子目录层次. 注意:由JDK7为NIO系统增加的Path接口和File类,在许多情况下都为File类提供了强大的替换方案,具体看后面的NIO章节. 下面的构造函数可以用于创建File对象: File(Strin

【56】java本地文件File类详解

1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名的抽象表示形式. File既可以表示文件也可以表示目录. 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图. 2.构造方法 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符

文件管理File类

在上一讲中,我们学习了泛型集合的几种类型,今天这讲我们主要研究下File的基本使用. 首先,File类是个静态类,无法实例化.它的命名空间是:using System.IO File中基本的方法如下演示: 图一.File.Create 图二.File.Copy一般情况 图三.File.Copy(path,path1,true); 图四.File.Delete 图五.File.Exists(); 图六.File.Move 图七.File.ReadAllLines() 图八.ReadAllText和

【Java IO流】File类的使用

File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一.File类的常用API介绍 首先在我的d盘下创建一个测试用的文件夹和文本文件,如下图所示: 1.创建File对象 我们创建一个File对象来获取测试用的目录,创建File对象最常用的就是通过文件的路径来创建,即File(String 路径),对于同一个路径有 以下三种方式: 1 /* 2 * Fi