- package my.file;
- import <a href="http://lib.csdn.net/base/java" class='replace_word' title="Java 知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.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 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 filePath
- * @param content
- * @return Boolean
- */
- static Boolean createFile(String filePath,String content){
- Writer writer = null;
- File file = new File(filePath);
- 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创建、重命名、删除文件和文件夹
最新推荐文章于 2023-08-09 17:14:20 发布