深入了解Java I/O 之File类

 更新时间:2021年08月01日 15:39:25   作者:我不读研  
这篇文章主要介绍了Java I/O深入学习之File和RandomAccessFile, I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事。需要的朋友可以参考下

File类

Java使用File类来表示计算机系统磁盘文件的对象类型。File类中提供了大量的方法,可以对文件进行增加、修改、删除、重命名等常规操作。File类的对象会村春文件自身的信息,例如文件在系统中的存储目录、文件大小、文件读写权限等。

创建File文件

File类中提供了以下几个构造方式来创建File对象。

File(String pathname)

File file=new File("d:/Test/file01.txt");

File(String parent,String child)

File file1=new File("d:/","Test/file01.txt");

File(File f,String child)

File(URI uri)

File文件基本操作

File类中提供了操作文件的方法,也可以直接对文件夹进行操作。文件的常见操作有:判断文件是否存在、创建和重命名文件、删除文件和获取文件基本信息。

package com.IO.demo01;
import java.io.*;

/**
 * File类
 */
public class Demo06 {
    public static void main(String[] args) {
        try {
            File file = new File("Data01.json");
            System.out.println("创建文件Data01.json");
            System.out.println("是否创建成功:"+file.createNewFile());
            System.out.println("文件是否为绝对路径:"+file.isAbsolute());
            System.out.println("文件是否可读:"+file.canRead());
            System.out.println("修改文件名称为:Data02.json,是否成功:"+file.renameTo(new File("Data02.json")));
        } catch (Exception e) {
            System.out.println("系统发生异常:"+e.getMessage());
        }
    }
}

运行结果:

1

File类也支持对文件夹的操作。对文件夹的操作一般有创建文件夹、删除文件夹、判断文件夹是否存在、获取文件夹信息等。

package com.IO.demo01;
import java.io.File;

/**
 * 读取目录下的文件和目录
 */
public class Demo07 {
    public static void main(String[] args) {
        String dirName="jjjjava";
        File file = new File("d:/"+dirName);
        if(file.isDirectory()){
            System.out.println("访问目录"+dirName);
            String[]s=file.list();
            for (int i = 0; i < s.length; i++) {
                File tempFile = new File("d:/" + dirName + "/" + s[i]);
                if(tempFile.isDirectory()){
                    System.out.println(s[i]+"是一个目录");
                }else{
                    System.out.println(s[i]+"是一个文件");
                }


            }
        }else{
            System.out.println(dirName+"不是一个目录");
        }
    }
}

在上面的示例中,在相对路径下创建了两个文件夹“/a”、“/b”以及一个文件“c.txt”。

运行结果为:

2

package com.IO.demo01;
import java.io.File;

/**
 * File类删除操作
 * @author ZpF
 */
public class Demo08 {
    public static void main(String[] args) {
        File file = new File("java");
        System.out.println("创建文件夹java:"+file.mkdir());
        file =new File("java/dir");
        System.out.println("创建文件夹java/dir:"+file.mkdir());
        File floder = new File("java");
        deleteFloder(floder);


    }
    public static void deleteFloder(File floder){
        File[]files=floder.listFiles();
        if(files!=null){
            for (File f : files) {
                if (f.isDirectory()){
                    deleteFloder(f);//递归调用
                }else{
                    System.out.println("删除文件"+f.getName()+"是否成功:"+f.delete());//删除文件
                }

            }
        }
        System.out.println("删除文件"+floder.getName()+"是否成功:"+floder.delete());//删除文件夹
    }
}

运行结果为:

3

总结

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

相关文章

  • Netty分布式解码器读取数据不完整的逻辑剖析

    Netty分布式解码器读取数据不完整的逻辑剖析

    这篇文章主要为大家介绍了Netty分布式解码器读取数据不完整的逻辑剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • java  基础知识之IO总结

    java 基础知识之IO总结

    这篇文章主要介绍了java 基础知识之IO总结的相关资料,Java中的I/O分为两种类型,一种是顺序读取,一种是随机读取,需要的朋友可以参考下
    2017-03-03
  • java中注解的实现原理详解

    java中注解的实现原理详解

    这篇文章主要介绍了java中注解的实现原理详解,注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解,需要的朋友可以参考下
    2023-10-10
  • SpringBoot 整合Mybatis-Plus并输出SQL日志示例详解

    SpringBoot 整合Mybatis-Plus并输出SQL日志示例详解

    这篇文章主要介绍了SpringBoot整合Mybatis-Plus并输出SQL日志,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • tcc分布式事务框架体系解析

    tcc分布式事务框架体系解析

    这篇文章主要为大家介绍了tcc分布式事务框架体系结构的解析说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • java的Map集合中按value值进行排序输出的实例代码

    java的Map集合中按value值进行排序输出的实例代码

    下面小编就为大家带来一篇java的Map集合中按value值进行排序输出的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Spring中@Conditional注解的用法

    Spring中@Conditional注解的用法

    这篇文章主要介绍了Spring中@Conditional注解的用法,@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean,需要的朋友可以参考下
    2024-01-01
  • 详细介绍Java内存泄露原因

    详细介绍Java内存泄露原因

    详细介绍Java内存泄露原因,需要的朋友可以参考一下
    2013-05-05
  • Java使用FutureTask实现预加载的示例详解

    Java使用FutureTask实现预加载的示例详解

    基于FutureTask的特性,通常可以使用FutureTask做一些预加载工作,比如一些时间较长的计算等,本文就来和大家讲讲具体实现方法吧,感兴趣的可以了解一下
    2023-06-06
  • PostMan如何传参给@RequestBody(接受前端参数)

    PostMan如何传参给@RequestBody(接受前端参数)

    这篇文章主要介绍了PostMan如何传参给@RequestBody(接受前端参数),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论