Monday, November 11, 2013

JAVA CODE TO TEST A CONDITION STORED INTO A STRING VARIABLE

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class TestCondition {
   public static void main(String[] bag) throws Exception {
                  ScriptEngineManager factory = new ScriptEngineManager();
                  ScriptEngine engine = factory.getEngineByName(“JavaScript”);
                  String condition = “10==10 && 20==20″;
                  System.out.println(engine.eval(condition));
     }
}

JAVA CODE TO READ FILE FROM A LAST READ BYTE POSITION OR READ ‘n’ NUMBER OF LINES FROM LAST READ BYTE

public List retriveMonitorLog(long bytesRead){
                             String logFileLocation = “D:/MyLogs.log”;
                             RandomAccessFile randomAccess = null;
                             try {
                                       File monitorLog = new File(logFileLocation);
                                       randomAccess = new RandomAccessFile( monitorLog, “r” );
                                       long fileSize=randomAccess.length();
                                       if(fileSize>bytesRead){
                                               randomAccess.seek(bytesRead);
                                      }else{
                                              return null;
                                      }
                                     long offSetBytePosition=bytesRead;
                                   if(bytesRead==0){
                                           long startPositionByte = 0L;
              //205685 indicates the number of bytes you want to read at the first attempt to read the file
                                            if(fileSize>(205685)){
                                                          startPositionByte = fileSize – (205685);
                                             }
                                            randomAccess.seek(startPositionByte);
                                    } else{
                                            randomAccess.seek(offSetBytePosition);
                                     }
                             StringBuilder builder = new StringBuilder();
                             String data;
                             int lineCounter=0;
                             while((data = randomAccess.readLine())!=null && lineCounter<=1000){
                                        if(data.length()>0){
                                                  lineCounter++;

                                                  builder.append(data).append(“
”);                                                  
                              }
                  }
                  offSetBytePosition = randomAccess.getFilePointer();
                  ArrayList logDataList = new ArrayList(3);
                  logDataList.add(builder.toString());
                  logDataList.add(offSetBytePosition);
                  return logDataList;
                  }catch(Exception e){
                                    System.out.println();
                   } finally {
                           try{
                                   randomAccess.close();
                           }catch(Exception ex){}
                  }
                  return null;
                  }
}

JAVA CODE TO CONVERT BYTE TO KB MB GB

private static DecimalFormat twoDecimalForm = new DecimalFormat(“#.##”);
private static final double BYTE = 1024, KB = BYTE, MB = KB*BYTE, GB = MB*BYTE;
public static String convertBytesToSuitableUnit(long bytes){
String bytesToSuitableUnit= bytes + ” B”;

if(bytes >= GB) {
       double tempBytes = bytes/GB;
       bytesToSuitableUnit = twoDecimalForm.format(tempBytes) + ” GB”;
       return bytesToSuitableUnit;
}

if(bytes >= MB) {
       double tempBytes = bytes/MB;
       bytesToSuitableUnit = twoDecimalForm.format(tempBytes) + ” MB”;
       return bytesToSuitableUnit;
}

if(bytes >= KB) {
       double tempBytes = bytes/KB;
       bytesToSuitableUnit = twoDecimalForm.format(tempBytes) + ” kB”;
       return bytesToSuitableUnit;
}

return bytesToSuitableUnit;
}