`
fanjf
  • 浏览: 290906 次
  • 性别: 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生成、修改文件夹和文件名.rar

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

    文件管理系统java源代码

    2.3基本功能:(1)文件和目录的基本操作,比如文件和目录的创建、删除、复制、移动、重命名和文件内容的显示,文件和目录的基本检索,快速文件搜索采用多线程技术加快文件的检索速度;(2)进程和线程的使用,进程和...

    java对文件夹、文件、TXT的操作

    java对文件夹,文件,txt的操作,删除,创建,写入,重命名、遍历。

    CKFinder 文件管理器 v2.6.2.1 for java

    提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。软件共包含了42种不同类型的语言,其中就有中文的简体和繁体两种类型。

    java文件读写操作大全

    java文件读写操作大全 一、获得控制台用户输入的信息 二、复制文件 三、写文件 四、文件重命名 五、转移文件目录 六、读文件 七、创建文件(文件夹) 八、删除文件(目录)

    Java高级程序设计:第9章-IO.pptx

    创建文件夹;删除文件(夹);文件重命名;9;10;输入输出流(I/O Stream);输入流(Input Stream);输出流(Output Stream);文本文件 vs 二进制文件;文本文件 vs 二进制文件;文本文件 vs 二进制文件;文本I/O类层次结构;...

    第4章 HDFS 2 4.1. 简介 2 4.1.1. 概述 2 4.1.2. 组成架构 4 4.1.3. HDFS文件块大小

    4.3.6. 编写Java代码——向HDFS文件系统创建文件夹 24 4.3.7. 编写Java代码——文件上传 27 4.3.8. 编写Java代码——删除文件夹 30 4.3.9. 编写Java代码——重命名文件 31 4.3.10. 编写Java代码——遍历文件夹 32 ...

    java中文件操作大全

    java中文件操作大全 的内容有 一.获得控制台用户输入的信息二.复制文件三.写文件四.文件重命名五.转移文件目录 六.读文件七.创建文件(文件夹)八.删除文件(目录)

    BatchFiles 多功能批量文件处理系统

    replace)、插入特定字符到文件名中(-insert)、文件名截取(-intercept)、文件名的大小写转换(-toggle)和重命名恢复(-recovery)、文件批量删除、文件/夹批量随机创建、文件批量复制和拷贝。 本程序之所以...

    Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)

    文件夹的管理,创建、删除、重命名。 文件的分享,支持通过链博口二维码的分享方式等等。 二、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目...

    Java项目:在线网盘系统(java+JSP+Springboot+maven+mysql+ThymeLeaf+FTP)

    文件夹的管理,创建、删除、重命名。 文件的分享,支持通过链接和二维码的分享方式等等,以及管理员对用户的管理等等。 二、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,...

    java操作文件

    里面附带的例子关于java操作文件包括创建文件夹,创建文件,拷贝文件,删除文件,移除文件,向文件内写入内容,给文件重命名。(源文件里面有比较详细的说明哦!希望对大家学习java有所帮助)

    java版资源管理器

    java版资源管理器,能够读取本地计算机所有目录和文件,可以进行创建文件夹,文件,复制,粘贴,删除,查看属性,重命名等

    蓝牙FTP浏览器 FOR JAVA手机 Bluetooth File Transfer OBEX FTP

    Bluetooth File Transfer OBEX FTP 支持通过蓝牙来连接其他设备,并可以在其他设备商进行文件传送,并且可以在你的手机上对目标设备的文件或者文件夹进行修改,创建,重命名和删除操作。Bluetooth File Transfer ...

    ckfinder_java_jb51.rar_java 树形菜单_树形菜单

    提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。软件共包含了42种不同类型的语言,其中就有中文的简体和繁体两种类型。

    java项目-第44期ssm项目哈哈网盘系统.zip

    文件夹的管理,创建、删除、重命名。 上传文件:选取文件、上传文件、删除文件、终止上传。 2、运行环境 Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Spring + ...

Global site tag (gtag.js) - Google Analytics