全面的文件操作类

来源:互联网 发布:运城广电网络投诉电话 编辑:程序博客网 时间:2024/06/05 00:28

import java.io.*;

public abstract class FileOperation  {

 /*
  * description :create file
  * parmeter:file name
  * return boolean
  */
 public static boolean createFile(String fileStr)
 {
  File file = new File(fileStr);
  try
  {
   if(file.exists())
   {
    return false;
   }
   
   File filetmp = new File(file.getParent());
   if(!filetmp.exists())
   {
    if(!filetmp.mkdirs())
    {
       return false; 
    }
   }
   
   if(file.createNewFile())
   {
    return true;
   }else
   {
    return false;
   }
  }catch(Exception e)
  {
   e.printStackTrace();
   return false;
  }
 }
 /*
  * description: copy file
  * parameter 1:sFile:source File
  * parameter 2:tFile:target file
  * return boole
  */
 public static boolean copyFile(String sFile, String tFile)
 {
    File file1 = new File(sFile);
    File file2 = new File(tFile);
  
    if(!file1.isFile())
    {
     return false;
    }
 
    FileReader fr;
    BufferedReader br;
    FileWriter fw;
    BufferedWriter bw;
    String line="";
    String content="";
    try
    {
   
     if (!file1.exists())
     {
      return false;
     }
    
     if(!file2.exists())
     {
      File filetmp = new File(file2.getParent());
      if(!filetmp.mkdirs())
      {
       return false;
      }
     }
    
      fr=  new FileReader(sFile);
   br = new BufferedReader(fr);
   
      line=br.readLine();
      while(line!=null)
      {
       content=content+line+"/r/n";
       line=br.readLine();
      }
      br.close();
      fr.close();
           fw=new FileWriter(file2);
           bw = new BufferedWriter(fw);
           bw.write(content);
           bw.flush();
           bw.close();
           fw.close();
           return true;
    }catch(Exception e)
    {
    e.printStackTrace();
   return false;
    }
 }
 /*
  * description: delete file or delete path
  * parameter 1:fileStr:source File
  * return boole
  */
 public static boolean deleteFile(String fileStr) {
  try{
   File file = new File(fileStr);
   if(!file.isFile())
   {
    return false;
   }
   if(file.delete())
   {
    return true;
   }else
   {
    return false;
   }
  }catch(Exception e)
  {
   e.printStackTrace();
   return false;
  }
 }
 /*
  * description: delete  path
  * parameter 1:fileStr:source File
  * return boolean
  */
 public static boolean deletePath(String fileStr) {
  try{
   File file = new File(fileStr);
   
   if(!file.isDirectory())
   {
    return false;
   }
   File[] files=file.listFiles();
   
   if(files.length==0)
   {
        file.delete();
   }else
   {
    for(int i=0; i<files.length;i++)
    {
     
     if(files[i].isFile())
     {
      files[i].delete();
     }
     if(files[i].isDirectory())
     {
      deletePath(files[i].getPath());
     }
    }
    file.delete();
    }
   return true;
   
  }catch(Exception e)
  {
   e.printStackTrace();
   return false;
  }
 }
 /*
  * description: delete file or delete path
  * parameter 1:fileStr:source File
  * return int:0:创建失败,1:创建成功,2:该文件或目录已经存在
  */
 public static int mkDir(String fileStr) {
  // TODO Auto-generated method stub
  try
  {
   File file=new File(fileStr);
   file.mkdirs();
   System.out.print(file.mkdirs());
   return 1;
  }catch(Exception e)
  {
   e.printStackTrace();
   return 0;
  }
 }
 /*
  * description: copy file
  * parameter 1:sFile:source File
  * parameter 2:tFile:target file
  * return boole
  */
 public static boolean moveFile(String sFile, String tFile) {
   File file1 = new File(sFile);
     File file2 = new File(tFile);
   
     if(!file1.isFile())
     {
      return false;
     }
  
     FileReader fr;
     BufferedReader br;
     FileWriter fw;
     BufferedWriter bw;
     String line="";
     String content="";
     try
     {
    
      if (!file1.exists())
      {
       return false;
      }
      File filetmp = new File(file2.getParent());
      if(!filetmp.exists())
      {
       if(!filetmp.mkdir())
       {
      return false;  
       }
      }        
       fr=  new FileReader(sFile);
    br = new BufferedReader(fr);
    
       line=br.readLine();
       while(line!=null)
       {
        content=content+line+"/r/n";
        line=br.readLine();
       }
       br.close();
       fr.close();
       file1.delete();
            fw=new FileWriter(file2);
            bw = new BufferedWriter(fw);
            bw.write(content);
            bw.flush();
            bw.close();
            fw.close();
            return true;
     }catch(Exception e)
     {
     e.printStackTrace();
    return false;
     }
 }
 /*
  * description: copy file
  * parameter 1:fileStr:source File
  * return String
  */
 public static String getParentPath(String fileStr) {
  File file1 = new File(fileStr);
  if(!file1.exists())
  {
   return "";
  }else
  {
   return file1.getParent();
  }
 }
 /*
  * description: copy file
  * parameter 1:oldFile:source File
  * parameter 2:newFile:target File
  * return boolean
  */
 public static boolean renameFile(String oldFile,String newFile) {
  File file1 = new File(oldFile);
  File file2 = new File(newFile);
  if(!file1.exists())
  {
   return false;
  }else
  {
   if(file1.renameTo(file2))
   {
    return true;
   }else
   {
    return false;
   }
  }
 }
 /*
  * description: copy file
  * parameter 1:fileStr:source File
  * return String
  */ 
 public static String readFile(String fileStr) {
  // TODO Auto-generated method stub
  File file = new File(fileStr);
  if(!file.exists())
  {
   return "";
  }
   FileReader fr;
   BufferedReader br;
   try
   {
    fr = new FileReader(file);
    br = new BufferedReader(fr);
    String line = br.readLine();
    String content = "";
    while(line!=null)
    {
     content=content+line+"/r/n";
     line = br.readLine();
    }
    br.close();
    fr.close();
    return content;
   }catch(Exception e)
   {
    e.printStackTrace();
    return "";
   }
 }
 /*
  * description: copy file
  * parameter 1:fileStr:source File
  * parameter 2:style 0:append; 1:rewrite
  * parameter 2:content
  * return String
  */ 
 public static boolean writeFile(String fileStr,String content,int style) {
  // TODO Auto-generated method stub
  File file = new File(fileStr);
  if(!file.exists() || (style!=1 && style!=0))
  {
   return false;
  }
  if(!file.renameTo(file))
  {
    System.out.print("文件正在被使用");
    return false;
  }
  FileWriter fw;
  BufferedWriter bw;
  FileReader fr;
  BufferedReader br;
  try
  {
   fr = new FileReader(file);
   br = new BufferedReader(fr);

         String line=br.readLine();
         String nContent="";
         while (line!=null)
        {
          nContent=nContent+line+"/r/n";
          line=br.readLine();
        }        
         br.close();
         fr.close();
   fw = new FileWriter(file);
         bw = new BufferedWriter(fw); 
         if(style==0)
      {
          nContent=nContent+content;
      }
         if(style==1)
         {
          nContent=content;
         }
         bw.write(nContent);
         bw.flush();
         bw.close();
         fw.close();
            return true;
   
  }catch(Exception e)
  {
   e.printStackTrace();
   return false;
  }
 }
}

原创粉丝点击