博客
关于我
【JAVA】通过File类操作文件夹(目录创建、删除)和文本文件(增/删/改/查)
阅读量:154 次
发布时间:2019-02-28

本文共 3188 字,大约阅读时间需要 10 分钟。

Java文件操作详解

一、需要导入的包

在Java编程中,文件操作主要依赖于java.io.File包。这个包提供了丰富的文件操作API,方便开发者对文件和目录进行各种操作。

二、常用命令表

以下是File类中常见的方法及其作用:

  • getName()

    返回由此抽象路径名表示的文件或目录的名称。

  • getParent()

    返回此抽抽路径名的父路径名的路径名字符串。若无父目录则返回null

  • getParentFile()

    返回此抽路径名的父路径名的抽路径名。若无父目录则返回null

  • getPath()

    将此抽路径名转换为相对路径名字符串。

  • isAbsolute()

    测试此路径名是否为绝对路径。

  • getAbsolutePath()

    返回此路径名的绝对路径字符串。

  • canRead()

    测试应用程序是否可以读取此路径名表示的文件。

  • canWrite()

    测试应用程序是否可以修改此路径名表示的文件。

  • exists()

    测试此路径名表示的文件或目录是否存在。

  • isDirectory()

    测试此路径名表示的文件是否为目录。

  • isFile()

    测试此路径名表示的文件是否为文件。

  • lastModified()

    返回此路径名表示的文件最后一次被修改的时间。

  • length()

    返回此路径名表示的文件的长度。

  • createNewFile()

    创建一个空文件,前提是不存在与此路径名相同的文件。

  • delete()

    删除此路径名表示的文件或目录。

  • deleteOnExit()

    请求在虚拟机终止时删除此路径名表示的文件或目录。

  • list()

    返回此路径名表示目录中的文件和目录名称数组。

  • list(FilenameFilter filter)

    返回满足指定过滤器的文件和目录名称数组。

  • listFiles()

    返回此路径名表示目录中的文件路径名数组。

  • listFiles(FileFilter filter)

    返回满足指定过滤器的文件路径名数组。

  • mkdir()

    创建指定目录,仅创建一个父目录。

  • mkdirs()

    创建指定目录及其所有必要的父目录。

  • renameTo(File dest)

    重命名此路径名表示的文件到指定路径名。

  • setLastModified(long time)

    设置此路径名指定文件或目录的最后修改时间。

  • setReadOnly()

    标记此路径名指定文件或目录为只读。

  • createTempFile(String prefix, String suffix, File directory)

    在指定目录中创建一个临时文件,使用给定前缀和后缀。

  • createTempFile(String prefix, String suffix)

    在默认临时文件目录中创建一个临时文件。

  • compareTo(File pathname)

    比较两个路径名的字母顺序。

  • compareTo(Object o)

    比较路径名与其他对象的字母顺序。

  • equals(Object obj)

    测试当前路径名与其他路径名是否相等。

  • toString()

    返回路径名的字符串表示。

  • 三、示例

    以下是基于上述API的实际操作示例:

    【创建目录或文件夹】

    String n_dir = "C:/Java";File n = new File(n_dir);if (!n.exists()) {    n.mkdir(); // 只能创建一个文件夹}

    【创建多级目录】

    String m_dir = "C:/Java/csj";File m = new File(m_dir);if (!m.exists()) {    m.mkdirs(); // 一次性创建多个文件夹}

    【创建一个txt文件】

    String m_file = "C:/Java/csj(nn.txt)";File f = new File(m_file);if (!f.exists()) {    f.createNewFile(); // 创建一个空文件}

    【获取文件信息】

    String p_file = "C:/Java/csj(nn.txt)";File p = new File(p_file);if (p.exists()) {    if (p.isFile()) {        System.out.println("文件名:" + p.getName());        System.out.println("文件绝对路径:" + p.getAbsolutePath());        System.out.println("文件相对路径:" + p.getPath());        System.out.println("文件大小(字节数):" + p.length());    }    if (p.isDirectory()) {        System.out.println("这个文件夹存在!");    }}

    【文件重命名】

    String r_file = "C:/Java/csj(nn.txt)";File r = new File(r_file);if (r.exists()) {    if (r.isFile()) {        r.renameTo(new File("C:/Java/csj/csj.txt")); // 重命名成功!    }}

    【删除指定文件】

    String d_file = "C:/Java/csj/csj.txt";File d = new File(d_file);if (d.exists()) {    if (d.isFile()) {        d.delete(); // 删除指定文件        System.out.println(d_file + "文件删除成功!");    }}

    【读取文件内容】

    String uu = "C:/Java/csj/csj.txt";FileInputStream read_file = new FileInputStream(uu);int len = read_file.available();System.out.println("文件【" + uu + "】的字节数是" + len);int m_number;while ((m_number = read_file.read()) != -1) {    System.out.print(m_number + "_");}// 读取文本文件内容System.out.println("----- 读取文本文件内容 -----");FileReader f_Reader = new FileReader(uu);char[] chars = new char[len];f_Reader.read(chars, 0, len);for (char aaa : chars) {    System.out.print(aaa);}

    【向文本文件写入内容】

    String w = "C:/Java/csj/csj.txt";FileOutputStream w_file = new FileOutputStream(w, true); // 向文件中追加内容String m_write = "我是中国人!";byte[] mess = m_write.getBytes();w_file.write(mess, 0, mess.length);w_file.close();

    以上示例展示了如何利用Java的File类进行文件和目录的基本操作,涵盖了创建、重命名、删除、读取和写入等常用功能。

    转载地址:http://wykn.baihongyu.com/

    你可能感兴趣的文章
    mysql自增id超大问题查询
    查看>>
    MySQL集群解决方案(4):负载均衡
    查看>>
    MySQL高级-视图
    查看>>
    nacos集群搭建
    查看>>
    Navicat for MySQL 查看BLOB字段内容
    查看>>
    Neo4j的安装与使用
    查看>>
    Neo4j(2):环境搭建
    查看>>
    nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    netsh advfirewall
    查看>>
    Netty WebSocket客户端
    查看>>
    Netty 异步任务调度与异步线程池
    查看>>
    Netty中集成Protobuf实现Java对象数据传递
    查看>>
    Netty工作笔记0006---NIO的Buffer说明
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>