Mega Code Archive

 
Categories / Android / File
 

File Manager

//package com.swm.util; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; public class FileManager {   static FileManager   fileMgr  = null;      public static FileManager getInstance()   {     if ( fileMgr == null ){       fileMgr = new FileManager();       }     return fileMgr;   }      public String readFile( String filePath, String fileName )   {       StringBuffer contents = new StringBuffer();         File inputFile = new File( filePath + fileName );     if ( !inputFile.exists() )     {       System.out.println( "[FILE READ ERROR] FILE NOT EXIST");       return "";     }            FileInputStream fis = null;     try {       fis = new FileInputStream( inputFile );             int c;       while ((c = fis.read()) != -1)         contents.append((char) c);                      } catch (FileNotFoundException e) {       e.printStackTrace();       System.out.println( e.getMessage() );     } catch (IOException e) {       e.printStackTrace();       System.out.println( e.getMessage() );     } finally {       try {         fis.close();       } catch (IOException e) {         // TODO Auto-generated catch block         e.printStackTrace();       }     }              return contents.toString();          /*     StringBuffer sb = new StringBuffer();         BufferedReader rd;     try {       rd = new BufferedReader( new FileReader(new File(filePath + fileName)));       String line;       while ((line = rd.readLine()) != null) {         sb.append(line);       }             } catch (FileNotFoundException e) {       e.printStackTrace();     } catch (IOException e) {       e.printStackTrace();     }               return sb.toString();     */   }   public String normalizeContents( String content )   {     StringBuffer sb = new StringBuffer();     for ( int i = 0 ; i < content.length() ; i++  ){       char ch = content.charAt(i);       if ( ch != ' ' && ch  != '\n' && ch != '\t' && ch != '\r' ){         sb.append( ch );       }     }     return sb.toString();   }      public void writeFile( String filePath, String fileName, String contents )   {         FileWriter writer = null;     BufferedWriter bufferWriter = null;     try {       writer = new FileWriter(filePath + fileName);       bufferWriter = new BufferedWriter(writer);       bufferWriter.write(contents);       bufferWriter.flush();         } catch (Exception e) {       e.printStackTrace();       System.out.println(e.getMessage());     } finally {              try {         bufferWriter.close();         writer.close();       } catch (IOException e) {         // TODO Auto-generated catch block         e.printStackTrace();       }           }        }      public void copyFile(String srcFilePath, String srcFileName, String destFilePath, String destFileName) {     if ( destFileName.equals( "" ) )       destFileName = srcFileName;                  String contents = readFile( srcFilePath, srcFileName );     writeFile( destFilePath, destFileName, contents );         System.out.println( "[COPY] " + srcFilePath + srcFileName + " -->> " + destFilePath + destFileName );   }      public void copyDirectory(String srcFilePath, String destFilePath ) {          File srcDir = new File( srcFilePath );     if ( srcDir.exists() && srcDir.isDirectory() )     {       File destDir = new File( destFilePath );       if ( !destDir.exists() )       {         if ( !destDir.mkdirs() )                     return;         System.out.println( "[COPY][MKDIR] MAKE DESTINATION DIR = " + destFilePath  );       }                    File[] fileList = srcDir.listFiles();       for( File file : fileList )       {           if ( file.getName().contains( ".svn") )               continue;                  String contents = readFile( srcFilePath, file.getName() );         writeFile( destFilePath, file.getName(), contents );             System.out.println( "[COPY] " + srcFilePath + file.getName() + " -->> " + destFilePath + file.getName() );       }     }     else     {       System.out.println( "[COPY][ERROR] SRC Directory is not Exist : " + srcFilePath  );     }   }      public void replaceContents(String filePath, String fileName, String findStr, String replaceStr ) {     String contents = readFile( filePath, fileName );         if ( contents.contains( findStr ))     {             contents = contents.replaceAll( findStr, replaceStr );                   FileManager.getInstance().writeFile( filePath, fileName, contents );       System.out.println( "[REPLACE CONTENT]["+ filePath+fileName +"] [" + findStr + "] >>> [" + replaceStr + "] " );     }     }      public void insertBeforeContents( String filePath, String fileName, String beforeStr, String addStr ){     String contents = readFile( filePath, fileName );         if ( !contents.contains( addStr ))     {       int insertPos;       if ( ( insertPos = contents.indexOf( beforeStr )) >= 0 )       {         StringBuffer sb = new StringBuffer( contents.substring(0, insertPos-1) );         sb.append( addStr );         sb.append( contents.substring( insertPos, contents.length()));         FileManager.getInstance().writeFile( filePath, fileName, sb.toString() );         System.out.println( "[INSERT-BEFORE-CONTENT]["+ filePath+fileName +"] = " + addStr );       }     }   }      public void insertAfterContents( String filePath, String fileName, String afterStr, String addStr ){     String contents = readFile( filePath, fileName );         if ( !contents.contains( addStr ))     {       int insertPos;       if ( ( insertPos = contents.indexOf( afterStr )) >= 0 )       {                 StringBuffer sb = new StringBuffer( contents.substring(0, insertPos + afterStr.length() ) );         sb.append( addStr );         sb.append( contents.substring( insertPos + afterStr.length(), contents.length()));         FileManager.getInstance().writeFile( filePath, fileName, sb.toString() );         System.out.println( "[INSERT-AFTER-CONTENT]["+ filePath+fileName +"] = " + addStr );       }     }   }    }