广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JavaIO之File类详解
  • 493
分享到

JavaIO之File类详解

2024-04-02 19:04:59 493人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1、File 类的字段2、File 类的构造方法3、File 类的常用方法①、创建方法②、删除方法③、判断方法④、获取方法4、File 的一些技巧总结File 类:文件和目录路径

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

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

1、File 类的字段

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

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

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

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

那么我们可以看出:

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

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

2、File 类的构造方法

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

//不使用 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)返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。

//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 的一些技巧

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

public static void getFileList(File file){
        //第一级子目录
        File[] files = file.listFiles();
        for(File f:files){
            //打印目录和文件
            System.out.println(f);
            if(f.isDirectory()){
                getFileList(f);
            }
        }
    }

测试:

public static void main(String[] args) throws Exception {
        File f = new File("D:"+File.separator+"WEBStORMFile");
        getFileList(f);
    }

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: JavaIO之File类详解

本文链接: https://www.lsjlt.com/news/163031.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaIO之File类详解
    目录1、File 类的字段2、File 类的构造方法3、File 类的常用方法①、创建方法②、删除方法③、判断方法④、获取方法4、File 的一些技巧总结File 类:文件和目录路径...
    99+
    2022-11-13
  • JavaIO之包装流详解
    目录1、前面讲的字符输入输出流,字节输入输出流都是字节流。那么什么是包装流呢?2、缓冲流  3、转换流:把字节流转换为字符流4、内存流(数组流):5、合并流:把多个输入流合并为一个流...
    99+
    2022-11-13
  • JavaIO流之字符流的使用详解
    目录一、字符流的出现二、字符输入流Reader三、文件字符输入流 FileReader四、字符输出流 Writer五、文件字符输出流 FileWriter六、close()和flus...
    99+
    2022-11-13
  • JavaIO之字节输入输出流详解
    目录1、字节输出流:OutputStream2、字节输入流:InputStream3、用字节流完成文件的复制总结那么这篇博客我们讲的是字节输入输出流:InputStream、Outp...
    99+
    2022-11-13
  • JavaIO之序列化与反序列化详解
    目录1、什么是序列化与反序列化?2、为什么要做序列化?3、Java 怎么进行序列化?总结1、什么是序列化与反序列化? 序列化:指把堆内存中的 Java 对象数据,通过某种方式把对象存...
    99+
    2022-11-13
  • JavaIO流之字节输入流的使用详解
    目录一、InputStream字节输入流二、FileInputStream文件输入类三、文件复制一、InputStream字节输入流 ①、是一个抽象类,不能够创建对象,需要被继承才能...
    99+
    2022-11-13
  • Java文件操作之IO流 File类的使用详解
    File类概述 File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。 要在Java程序中表示一个真实存在的文件或...
    99+
    2022-11-12
  • Java-File类详解(一篇讲透)
    File类的使用 前言一、File类概述二、File类的使用1. 绝对路径 vs 相对路径2. 路径分隔符3. 静态成员变量3. 常用构造器4. 常用方法4.1 获取功能4.2 重命名功能4.3 判断功能4.4 创建功能4.5 删除...
    99+
    2023-08-17
    java 开发语言 intellij-idea eclipse jar
  • 深入了解Java I/O 之File类
    目录File类创建File文件File文件基本操作总结File类 Java使用File类来表示计算机系统磁盘文件的对象类型。File类中提供了大量的方法,可以对文件进行增加、修改、删...
    99+
    2022-11-12
  • JavaIO模型中的BIO,NIO和AIO详解
    目录一、I/O模型1.1 I/O模型基本说明1.2 Java支持的3种网络编程I/O模式1.3 JavaBIO(同步阻塞)1.4 JavaNIO (同步非阻塞)1.5 JavaAIO...
    99+
    2022-11-13
  • Java之ThreadPoolExecutor类详解
    ThreadPoolExecutor ThreadPoolExecutor是线程池框架的一个核心类,线程池通过线程复用机制,并对线程进行统一管理 降低系统资源消耗。通过复用...
    99+
    2022-11-12
  • GoLangOS包以及File类型详细讲解
    目录一、OS包的作用二、os.File类型实现了哪些io包的接口三、创建os.File类型的指针类型3.1 os.Create3.2 os.NewFile3.3 os.Open3.4...
    99+
    2023-03-19
    Go os包的File GoLang os包
  • Java 中的 File类详情
    目录一、File类简单介绍二、 路径的分类三、 构造方法四、 成员方法一、File类简单介绍 为什么要学习File类呢,他的作用又是什么呢? IO流操作中大部分都是对文件进行...
    99+
    2022-11-12
  • Java中File类方法详解以及实践
    目录File类概述File类常用构造器File类常用方法常用方法示例createTempFile临时文件创建示例FilenameFilter文件过滤器示例总结File类概述 File...
    99+
    2022-11-13
  • kotlin 之单例类详解
    object 单例对象的声明: object Model{ var temp = "1" val temp2 = "2" const val temp3 = "3"} 抛出疑问:使...
    99+
    2023-09-02
    kotlin java
  • JavaIO字符操作和对象操作示例详解
    目录字符操作编码与解码String 的编码方式Reader 与 Writer实现逐行输出文本文件的内容对象操作序列化Serializabletransient字符操作 编码与解码 ...
    99+
    2023-02-05
    JavaIO字符操作对象操作 Java IO
  • Python基础之元类详解
    1.python 中一切皆是对象,类本身也是一个对象,当使用关键字 class 的时候,python 解释器在加载 class 的时候会创建一个对象(这里的对象指的是类而非类的实例)...
    99+
    2022-11-12
  • SqlServer之数据类型详解
    Character 字符串: 数据类型描述存储char(n)固定长度的字符串。最多 8,000 个字符。nvarchar(n)可变长度的字符串。最多 8,000 ...
    99+
    2022-11-13
  • Java基础之Object类详解
    object类的介绍 object是所有类的直接父类或者是间接父类,为什么这么说呢? 可以查询java8的API帮助文档: 可见在这样的一个类树中,所有的类的根还是Object类 ...
    99+
    2022-11-12
  • Java基础类之ArrayUtils工具类详解
    目录1、引入pom依赖2、ArrayUtils中的方法:3、举例总结1、引入pom依赖 <!-- https://mvnrepository.com/artifact/o...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作