`
fanjf
  • 浏览: 333169 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

Java创建、重命名、删除文件和文件夹

    博客分类:
  • Java
 
阅读更多

package test.file;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

public class TravelAllFile {
    public static void main(String[] args) {
        String path = "E:/文件夹";
        File f = new File(path);
        if (f.isDirectory()) {
            new TravelAllFile().getFileName(f);
        }

        delFolder("E:/文件夹");
        System.out.println("deleted");
    }

    // 递归查找函数,参数为file对象
    public void getFileName(File f) {
        // File 数组
        File[] files = f.listFiles();

        for (int i = 0; i < files.length; i++) {
            // 递归出子目录
            if (files[i].isDirectory()) {
                System.out.println("子目录是:" + files[i].getName());
                getFileName(files[i]);
                // 递归出子文件
            } else {
                System.out.println(files[i].getName());
            }

        }
    }

    // 重命名
    public void rename() {
        File fl = new File("E:\\文件夹"); // 这里写上发替换的文件夹路径,注意使用双斜杠
        String[] files = fl.list();
        File f = null;
        String filename = "";
        for (String file : files) {
            f = new File(fl, file);// 注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径
            filename = f.getName();
            // System.out.println(filename);
            f.renameTo(new File(fl.getAbsolutePath() + "\\"
                            + filename.replace("要替换掉的内容", "替换成的内容")));// 这里可以反复使用replace替换,当然也可以使用正则表达式来替换了

        }
    }

    /**
     * 删除文件夹
     * @param path folderPath 文件夹完整绝对路径
     */
    public static void delFolder(String folderPath) {
        try {
            delAllFile(folderPath); // 删除完里面所有内容
            String filePath = folderPath;
            filePath = filePath.toString();
            java.io.File myFilePath = new java.io.File(filePath);
            myFilePath.delete(); // 删除空文件夹
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除指定文件夹下所有文件
     * @param path 文件夹完整绝对路径
     */
    public static boolean delAllFile(String path) {
        boolean flag = false;
        File file = new File(path);
        if (!file.exists()) {
            return flag;
        }
        if (!file.isDirectory()) {
            return flag;
        }
        String[] tempList = file.list();
        File temp = null;
        for (int i = 0; i < tempList.length; i++) {
            if (path.endsWith(File.separator)) {
                temp = new File(path + tempList[i]);
            } else {
                temp = new File(path + File.separator + tempList[i]);
            }
            if (temp.isFile()) {
                temp.delete();
            }
            if (temp.isDirectory()) {
                delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
                delFolder(path + "/" + tempList[i]);// 再删除空文件夹
                flag = true;
            }
        }
        return flag;
    }

    /**
     * 创建目录
     * @param dirPath
     */
    static Boolean createDir(String dirPath) {
        File dirFile = new File(dirPath);
        return dirFile.mkdirs();
    }

    /**
     * 创建文件,并添加内容
     * @param filePathName
     * @param content
     * @return Boolean
     */
    static Boolean createFile(String filePathName, String content) {
        Writer writer = null;
        File file = new File(filePathName);
        File temp = new File(file.getParent());
        if (!temp.exists()) {
            createDir(file.getParent());
        }
        try {
            writer = new OutputStreamWriter(new FileOutputStream(file));
            writer.write(content);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            try {
                if (writer != null) {
                    writer.close();
                }
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        }
        return true;
    }
}

分享到:
评论

相关推荐

    Java实现文件批量重命名

    1. **文件操作基础**:在Java中,`java.io.File`类提供了文件和目录的操作接口,如创建、删除、移动、重命名等。我们需要熟悉这个类的方法,如`renameTo()`用于重命名文件。 2. **递归遍历文件**:如果需要批量...

    Java生成、修改文件夹和文件名.rar

    Java生成、修改文件夹和文件名,Java创建目录或文件夹,并修改、删除、重命名文件夹或文件名称,使用进行的文件操作实例。  super("目录和文件的创建、删除和更名"); //调用父类构造函数  jtfPath=new ...

    java文件夹及文件复制

    它提供了一些方法来创建、删除、重命名文件或目录,以及获取文件的基本信息,如名称、大小、修改时间等。 2. **`FileInputStream`和`FileOutputStream`**:这两个类分别用于读取和写入文件。`FileInputStream`可以...

    JAVA实现SFTP上传,下载,删除等方法

    本文将详细讲解如何使用开源库JSch来实现在Java中进行SFTP的上传、下载以及删除文件的方法。 JSch是一个纯Java实现的SSH2库,它提供了对SFTP的支持,允许我们在Java应用中安全地执行文件传输。首先,我们需要添加...

    java管理hdfs文件和文件夹项目hadoop2.4

    本文将深入探讨使用Java管理HDFS文件和文件夹的关键知识点,特别是基于Hadoop 2.4版本。 首先,理解HDFS的基础概念至关重要。HDFS是一种分布式文件系统,设计用于跨大量廉价硬件节点存储和处理大数据。它遵循主从...

    java开发,图片重命名

    在Java开发中,图片重命名是一项常见的操作,特别是在处理大量图片资源时,为了规范化存储或者便于管理和检索,可能需要对图片文件进行批量重命名。这个过程并不复杂,主要涉及文件I/O操作,包括读取、重命名和写入...

    java编写的命令行文件/文件夹管理程序

    4. **文件夹操作**:程序管理文件夹,包括创建、删除和遍历。`java.nio.file.FileVisitor`接口可用于递归地遍历文件夹结构,而`Files.createDirectory()`用于新建目录,`Files.deleteDirectory()`删除空目录。 5. *...

    java删除文件夹的代码

    它提供了许多方法,如创建、删除、重命名文件或目录,以及获取文件属性等。删除文件夹时,我们通常需要确保文件夹为空,否则会因为文件夹非空而导致删除失败。在不使用递归的情况下,我们可以用循环来遍历文件夹内的...

    java程序实现文件夹删除

    通过创建`File`对象,我们可以对文件进行各种操作,包括创建、删除、重命名等。 ### 删除单个文件 要删除一个文件,可以使用`File`类的`delete()`方法。这个方法会尝试删除指定的文件,并返回一个布尔值,表示操作...

    Java实现的文件资源管理器——仿Windows.docx

    * 实现文件夹的创建、删除和重命名功能 * 实现文件夹的基本属性查看,例如文件夹的大小、创建时间、修改时间等 六、视频文件筛选 * 实现视频文件的筛选功能,例如按视频文件的格式、大小、创建时间等进行筛选 * ...

    文件批量重命名工具

    例如,`java.io.File`类可以用于文件和目录的创建、删除以及获取文件信息,而`java.nio.file.Files`类则提供了更现代的文件操作API,如遍历目录、读写文件等。 此工具采用了多线程技术,这是Java的一大特色。多线程...

    建立一个别人既不能进入又不能删除的文件夹

    创建一个别人无法进入也无法删除的文件夹主要依赖于Windows操作系统的一些特殊特性和命令行操作。这种方法的核心是利用`md`命令(用于创建新目录)与一些特殊的路径组合来达到目的。 #### 二、准备工作 在开始之前...

    (源码)基于Java的文件管理系统.zip

    本项目是一个基于Java的文件管理系统,旨在提供对文件和文件夹的基本管理功能,包括创建、删除、重命名文件和文件夹,以及管理文件控制块(FCB)记录。系统还提供了一个自定义的表格模型,用于在Swing框架中展示和...

    JAVA SMB共享文件夹操作文件jar支持smb2、smb3.rar

    它支持SMB2和SMB3协议,允许Java应用程序连接到SMB共享,执行读写文件、创建目录、删除文件等操作。Smbj库提供了异步和同步API,可以方便地集成到多线程环境中。 3. **mbassador-1.3.2.jar**:这是一个事件驱动框架...

    Java API操作Hadoop文件

    如果需要处理目录,可以使用`FileSystem`的`mkdirs()`创建目录,`listFiles()`获取目录下所有文件,以及`delete()`删除文件或目录。 在`TestFileSystem.java`这个文件中,可能会包含一个测试类,演示了如何使用这些...

    HDFS-API文件上传、创建、删除、重命名

    本教程将详细讲解如何利用HDFS API进行文件的上传、创建、删除以及重命名等基本操作。这些API是Java编程接口,为开发者提供了与HDFS交互的便利。 首先,我们需要导入Hadoop相关的库,通常在Java项目中,这可以通过...

    JAVA文件操作类和文件夹的操作.doc

    ### JAVA文件操作类和文件夹的操作 ...这些操作不仅限于文件读取和目录创建,还包括文件删除、重命名、文件属性查询等更多高级功能。熟练掌握这些基本操作有助于开发者更高效地进行文件管理任务。

    文件管理器-文件删除,重命名

    文件管理器是操作系统中的一个重要组成部分,它允许用户方便地对计算机上的文件和文件夹进行操作,如创建、打开、编辑、移动、复制、删除以及重命名等。在本项目“文件管理器-文件删除,重命名”中,我们将探讨文件...

    遍历目录下所有的文件_遍历文件夹文件_java遍历目录下所有文件_

    如果你需要对每个文件或子目录进行进一步的操作,如读取、删除或重命名,`listFiles()`是更好的选择。 3. **递归遍历**:如果目录中还有子目录,我们需要递归地遍历它们。通常,我们会创建一个递归函数,当遇到子...

    java 删除文件夹中的所有内容而不删除文件夹本身的实例

    `File`类提供了许多方法来操作文件和目录,包括创建、删除、重命名等。在这个实例中,我们将主要用到`list()`方法(获取文件夹中的文件或子目录列表)、`isDirectory()`(判断是否为目录)和`delete()`(删除文件或...

Global site tag (gtag.js) - Google Analytics