【JAVA百炼成仙】红尘为仙 ——IO(目录操作、文件操作)

简介: IO(目录操作、文件操作)

🔎这里是JAVA成仙路,关注我学习JAVA不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

**前言:本章具体介绍了目录操作、文件操作的基本使用方法和常用函数,图解穿插代码实现。

JAVA成仙路从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助!**
@[TOC]
在这里插入图片描述

目录操作

创建目录

File类中有两个方法可以用来创建文件夹:

mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
mkdirs()方法创建一个文件夹和它的所有父文件夹。

创建目录AAA路径为D:AAA

public class Mk {
    public static void main(String[] args) {
        File file=new File("D://AAA");
        file.mkdir();
    }
}

在这里插入图片描述

创建多重目录,路径为D:/BBB/BB/B

public class Mk {
    public static void main(String[] args) {
        File file=new File("D://BBB/BB/B");
        file.mkdirs();
    }
}

在这里插入图片描述

判断这个文件或目录是否存在

如果创建一个 File 对象并且它存在,那么调用 sexists() 方法会返回 true。
public class Mk {
    public static void main(String[] args) {
        File file=new File("D://BBB/BB/B");
        System.out.println(file.sexists() );
    }
}

在这里插入图片描述

判断是否是目录

如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。
public class Mk {
        public static void main(String[] args) {
            File file=new File("D://BBB/BB/B");
            System.out.println(file.isDirectory());
        }
    }

在这里插入图片描述

读取目录

一个目录其实就是一个 File 对象,它包含其他文件和文件夹。
可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。

查看目录BBB中有哪些文件和目录
这是目录中的文件和目录

在这里插入图片描述

用代码在控制台输出
  public class Mk {
        public static void main(String[] args) {
            File file=new File("D://BBB");
            String[] ss=file.list();
            for (String s : ss) {
                System.out.println(s);
            }
        }
    }

在这里插入图片描述

删除目录

删除文件可以使用 java.io.File.delete() 方法。
以下代码会删除目录 D://BBB/BB/B,需要注意的是当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。
   public class Mk {
        public static void main(String[] args) {
            //删除目录D://BBB/BB/B
            File file=new File("D://BBB/BB/B");
            file.delete();
            }
        }

在这里插入图片描述

文件操作

创建文件

在目录AAA下创建文件aaa.txt
    public class Mk {
        public static void main(String[] args) throws IOException {

            File file=new File("D://AAA/aaa.txt");
            file.createNewFile();
            }
        }

在这里插入图片描述

删除文件

删除aaa.txt
 public class Mk {
        public static void main(String[] args) throws IOException {

            File file=new File("D://AAA/aaa.txt");
            file.delete();
            }
        }

在这里插入图片描述

File对象常用函数

创建:

1、 createNewFile() 指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。
2、 mkdir() 在指定位置创建一个单级文件夹。
3、 mkdirs() 在指定位置创建一个多级文件夹。
4、 renameTo(File dest) 如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。

删除:

delete() 删除文件或者一个空文件夹,不能删除非空文件夹,马上删除文件,返回一个布尔值。
deleteOnExit() jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。

判断:

exists() 文件或文件夹是否存在。
isFile() 是否是一个文件,如果不存在,则始终为false。
isDirectory() 是否是一个目录,如果不存在,则始终为false。
isHidden() 是否是一个隐藏的文件或是否是隐藏的目录。
isAbsolute() 测试此抽象路径名是否为绝对路径名。

获取:

getName() 获取文件或文件夹的名称,不包含上级路径。
getAbsolutePath() 获取文件的绝对路径,与文件是否存在没关系
length() 获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
lastModified() 获取最后一次被修改的时间。

文件夹相关:

static File[] listRoots() 列出所有的根目录(Window中就是所有系统的盘符)
list() 返回目录下的文件或者目录名,包含隐藏文件。对于文件这样操作会返回null。
listFiles() 返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。
list(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
listFiles(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
相关文章
|
2月前
|
Java
java 中 IO 流
Java中的IO流是用于处理输入输出操作的机制,主要包括字节流和字符流两大类。字节流以8位字节为单位处理数据,如FileInputStream和FileOutputStream;字符流以16位Unicode字符为单位,如FileReader和FileWriter。这些流提供了读写文件、网络传输等基本功能。
54 9
|
8天前
|
存储 Java API
【JavaEE】——文件IO(万字长文)
文件路径,文本文件,二进制文件,File类,文件流,字节流(InputStream,OutputStream)字符流(Reader,Writer)
|
2月前
|
Java 测试技术 Maven
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
|
2月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
31 1
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
95 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
3月前
|
搜索推荐 索引
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
52 2
|
3月前
|
编解码 Java 程序员
【文件IO】文件内容操作
【文件IO】文件内容操作
62 2
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
3月前
|
存储 Java API
【文件IO】文件系统操作
【文件IO】文件系统操作
55 1
|
3月前
|
Java 数据处理 开发者
揭秘Java IO流:字节流与字符流的神秘面纱!
揭秘Java IO流:字节流与字符流的神秘面纱!
47 1