博客
关于我
【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/

    你可能感兴趣的文章
    Netty中集成Protobuf实现Java对象数据传递
    查看>>
    Netty工作笔记0006---NIO的Buffer说明
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>
    Netty工作笔记0025---SocketChannel API
    查看>>
    Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
    查看>>
    Netty工作笔记0077---handler链调用机制实例4
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>