`

java文件操作类

    博客分类:
  • Java
阅读更多
package com.roam.base;

import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

import com.baseclass.CString;

public class FileOperate
{
/**
       * 新建文件操作
       * 方法名:NewsFile 
       * 参       数:
       *        String       FilePath //要创建文件的路径(已有的文件路径)
       *        String       Content       //要写入文件的内容
       *        boolean Bestrow       //如果有这个文件,是否覆盖(true,false)
       * 返回值:boolean类型
       * 功       能:在用户指定的路径下,进行新建文件操作
       * 备       注:此方法只针对文件进行操作而不对目录操作
       */
public boolean NewFile(String FilePath,String Content,boolean Bestrow)
{
       File file = new File(FilePath);
       //如果不覆盖已有的文件直接返回假
       if(!Bestrow && file.exists())
       {
        return false;
       }
       try
       {
        //判断文件或者目录是否存在
        if(!file.exists())
        {
         file.createNewFile();
        }
        FileWriter fileWriter = new FileWriter(file);
        PrintWriter printWriter = new PrintWriter(fileWriter);
        printWriter.println(Content);
        fileWriter.close();
        return true;
       }catch(Exception e)
       {
        System.out.println("FileOperate::NewFile"+e.getMessage());
        return false;
       }
}
/**
       * 新建目录操作
       * 方法名:NewsFolder 
       * 参       数:
       *        String       FolderPath //要创建目录的路径
       *        boolean Bestrow         //如果有这个目录,是否覆盖(ture,false)
       * 返回值:boolean类型
       * 功       能:在用户指定的路径下,进行新建目录操作
       * 备       注:该功能只能在指定的路径下,建立一级目录
       */
public boolean NewFolder(String FolderPath,boolean Bestrow)
{
       File file = new File(FolderPath);
       //如果不覆盖已有的目录直接返回假
       if(!Bestrow && file.exists())
       {
        return false;
       }
       try
       {
        if(!file.exists())
        {
         file.mkdir();
        }
        return true;
       }catch(Exception e)
       {
        System.out.println("FileOperate::NewFolder"+e.getMessage());
        return false;
       }
}
/**
       * 删除文件操作
       * 方法名:DeleteFile 
       * 参       数:
       *        String       FilePath //要删除文件的路径
       * 返回值:boolean类型
       * 功       能:在用户指定的路径下,进行删除文件操作
       * 备       注:该操作只针对指定目录下的文件进行删除操作,和空文件夹
       */
public boolean DeleteFile(String FilePath)
{
       File file = new File(FilePath);
       try
       {
        if(file.exists())
        {
         file.delete();
        }
        return true;
       }catch(Exception e)
       {
        System.out.println("FileOperate::DeleteFile"+e.getMessage());
        return false;
       }
}
/**
       * 删除文件目录下的所有文件操作
       * 方法名:DeleteFolder 
       * 参       数:
       *        String       FolderPath //要删除目录的路径
       * 返回值:boolean类型
       * 功       能:根据用户指定的目录,进行删除该目录下的所有文件操作
       * 备       注:
       */
public boolean DeleteFolder(String FolderPath)
{
       File file=new File(FolderPath);
       //检查参数
       if(!file.exists())
       {
        return false;
       }
       if(!file.isDirectory())
       {
        return false;
       }
       String[] tempList=file.list();
       File temp=null;
       for(int i=0;i<tempList.length;i++)
       {
        if(FolderPath.endsWith(File.separator))
        {
         temp=new File(FolderPath+tempList[i]);
        }
        else
        {
         temp=new File(FolderPath+File.separator+tempList[i]);
        }
        if(temp.isFile())
        {
         temp.delete();
        }
        if(temp.isDirectory())
        {
         DeleteFolder(FolderPath+"/"+tempList[i]);
         DeleteFile(FolderPath+"/"+tempList[i]);
        }
       }
       return false;
}
/**
       * 删除目录操作
       * 方法名:DeleteAll
       * 参       数:
       *        String       FolderPath //要删除目录的路径
       * 返回值:boolean类型
       * 功       能:根据用户指定的目录,进行删除该目录和目录下所有的文件操作
       * 备       注:递归方法
       */
public boolean DeleteAll(String FolderPath)
{
       try
       {
        File file=new File(FolderPath);
        if(!file.isDirectory())
        {
         return false;
        }
        File[] fileList=file.listFiles();
        for(int i=0;i<fileList.length;i++)
        {
         if(fileList[i].isDirectory())
         {
          if(!this.DeleteAll(fileList[i].toString()))
          {
           return false;
          }
         }
         else
         {
          if(!fileList[i].delete())
          {
           return false;
          }
         }
        }
        if(!file.delete())
        {
         return false;
        }
        else
        {
         return true;
        }
       }catch(Exception e)
       {
        System.out.println("FileOperate::DeleteAll"+e.getMessage());
        return false;
       }
}
/**
       * 创建多级目录操作
       * 方法名:CreateFolder 
       * 参       数:
       *        String       FolderPath //要创建的目录
       * 返回值:boolean类型
       * 功       能:根据用户指定的多级目录进行创建
       * 备       注:
       */
public boolean CreateFolder(String FolderPath)
{
       File file1=new File(FolderPath);
       //检查参数
       if(FolderPath==null || FolderPath.length()==0)
       {
        return false;
       }
       if(FolderPath.indexOf("/")==-1 && FolderPath.indexOf("\\")==-1)
       {
        return false;
       }
       if(file1.exists())
       {
        return true;
       }
       //首次处理传过来的字符串
       String str_temp="";
       for(int i=0;i<FolderPath.length();i++)
       {
        if(i<FolderPath.length())
        {
         if(FolderPath.substring(i,i+1).equals("\\"))
         {
          str_temp+="/";
         }
         else
         {
          str_temp+=FolderPath.substring(i,i+1);
         }
        }
       }
       //通过"/",那字符串拆分
       String Str_P[]=CString.Split(str_temp,"/");
       String Str_Create="";
       for(int i=0;i<Str_P.length;i++)
       {
        Str_Create+=Str_P[i]+"/";
        File file=new File(Str_Create);
        if(!file.exists())
        {
         if(!file.mkdir())
         {
          return false;
         }
        }
       }
       return true;
}
/**
       * 主方法用于测试操作
       */
public static void main(String[] args)
{
       FileOperate fileOperate = new FileOperate();
       //fileOperate.NewFolder("c://gameboy",false);
       //fileOperate.NewFile("c://text.txt","中文",true);
       //fileOperate.DeleteFile("c://a");
       //fileOperate.CreateFolder("c:\\a\\b\\c\\d\\e");
       //fileOperate.DeleteFolder("c://a");
       //fileOperate.DeleteAll("c://a");
}
}

0
0
分享到:
评论

相关推荐

    Java文件操作类

    pan.razerpen.file中提供一个多对象单文件存储类FileMap和一个单对象单文件存储类FilePage。 提供方便快捷的基本类型和对象的文件存取方式。详细用法见sample.razerpen.file

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

    【JAVA文件操作类和文件夹的操作】 在Java编程中,处理文件和文件夹是常见的任务。文件操作类和方法使得开发者能够创建、读取、写入、删除文件以及管理文件夹结构。以下是一些关键的Java类和方法,用于进行文件和...

    Java文件操作封装类

    Java文件操作封装类

    java 操作文件工具类 java 操作文件工具类

    java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...

    Java文件操作类 File实现代码

    "Java文件操作类File实现代码详解" Java文件操作类File实现代码是Java中最基本的文件操作类,它提供了对文件和目录的创建、重命名、删除、文件列表的操作以及判读是否存在等功能。 概述 Java文件操作类File实现...

    java文件操作类封装

    读取、删除、写文件、文本追加、复制文件、复制文件夹及其下面文件,读取目录下所有文件等操作

    Java 功能丰富的文件操作类.rar

    与大家分享一个功能丰富的Java文件操作类,类中封装了一些常用的文件操作,大部分涉及文件的修改、内容替换等。类中的方法都是静态方法,不需要生成此类的实例, 为避免生成此类的实例,构造方法被申明为private类型...

    java 文件操作

    以上就是Java文件操作的核心知识点。在实际开发中,根据具体需求,可以灵活运用这些方法和类,实现对文件和目录的高效管理。同时,理解并掌握源码能够帮助我们更好地解决问题,而利用工具类能提高开发效率。

    一个常用的Java文件操作类FileUtil.java源码下载

    一个常用的Java文件操作类FileUtil.java源代码,类中的所有方法都是静态方法,不需要生成此类的实例,这些Java文件操作类主要有修改文件的最后访问时间、判断指定的文件是否存在、创建指定的目录、清空指定目录中的...

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    有关java文件操作的类和用法

    总的来说,理解和熟练使用Java的文件操作类是任何Java开发者必备的技能之一。无论是处理文本文件还是二进制文件,无论是简单的读写还是复杂的流操作,这些类都能提供强大的支持。记住,始终确保在操作完成后正确关闭...

    java操作文件工具类

    文件工具类java操作文件工具类java操作文件工具类java操作文件工具类java操作文件工具类

    java文件操作

    Java文件操作是编程中不可或缺的一部分,尤其是在处理I/O流、文件读写以及文件管理时。Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是...

    java实现对文件的各种操作的工具类.md

    # java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    java 文件操作工具类

    java 文件操作工具类

    java properties文件操作工具类,可追加修改

    此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作

Global site tag (gtag.js) - Google Analytics