public class ObjectOutTest {  
///* 将对象写入文件方法 */  
//public void write(Object o, String path) {  
//   try {  
//    /* 创建存取文件 */  
//    FileOutputStream fileStream = new FileOutputStream(path);  
//    /* 将存取文件写入对象 */  
//    ObjectOutputStream os = new ObjectOutputStream(fileStream);  
//    /* 写入对象 */  
//    os.writeObject(o);  
//    System.out.println("写入数据成功");  
//    /* 关闭ObjectOutputStream */  
//    os.close();  
//   } catch (FileNotFoundException e) {  
//    e.printStackTrace();  
//   } catch (IOException e) {  
//    e.printStackTrace();  
//   }  
//}  
///* 将对象从文件中读出来 */  
//public void read(String path) {  
//   try {  
//    /* 连接到要读取的文件 */  
//    FileInputStream fileStream = new FileInputStream(path);  
//    /* 怎样读取连接到的文件 */  
//    ObjectInputStream os = new ObjectInputStream(fileStream);  
//    /* 读取对象 */  
//    LogObject dog = (LogObject) os.readObject();  
//    System.out.println("输出结果:" + dog.getFrom() + " is a "  
//      + dog.getIp() + ",高:" + dog.getUrl() + ",长:");  
//    /* 关闭对象 */  
//    os.close();  
//   } catch (FileNotFoundException e) {  
//    e.printStackTrace();  
//   } catch (IOException e) {  
//    e.printStackTrace();  
//   } catch (ClassNotFoundException e) {  
//    e.printStackTrace();  
//   }  
//}  
/* 往文件写入字符串 */  
public void wirteString(String path, String context) {  
   try {  
    /* 创建写入对象 */  
    FileWriter fileWriter = new FileWriter(path,true);  
    /* 创建缓冲区 */  
    BufferedWriter writer = new BufferedWriter(fileWriter);  
    /* 写入字符串 */  
    writer.write("\n"+context); 
    /* 关掉对象 */  
    writer.close();  
    System.out.println("写入字符串成功!");  
   } catch (IOException e) {  
    e.printStackTrace();  
   }  
}  
/* 读取文件中的字符串 */  
public void readString(String path) {  
   try {  
    /* 创建读取对象 */  
    FileReader fileReader = new FileReader(path);  
    /* 创建缓存区 */  
    BufferedReader reader = new BufferedReader(fileReader);  
    /* 读取文件 */  
    String line = null;
    while ((line = reader.readLine()) != null) { 
     String s[]=line.split(" ");
	 String str1="";
     for(int i=0;i<s.length;i++){
    	 if(i==0||i==3||i==6||i==10){
    		 if(i==0){
    			 str1+="ip:"+"--"+s[i]+" ";
    		 }
    		 if(i==3){
    			 str1+="访问时间:"+"--"+s[i]+" ";
    		 }
    		 if(i==6){
    			 str1+="url:"+"--"+s[i]+" ";
    		 }
    		 if(i==10){
    			 if(s[10].contains("baidu.com")){
    				 str1+="站外(百度竞价):"+"--"+s[i]+" ";
    			 }else{
    				 str1+="内部:"+"--"+s[i]+" ";
    			 }
    			 
    		 }
    		 //内部 百度竞价 直接访问 站外 
    		 
    	 }
    	 
    	 //System.out.println(str1);
     }
     if(s[6].contains(".jpg")||s[6].contains(".png")||s[6].contains(".ico")||s[6].contains("/app/api")||s[6].contains(".gif")||s[6].contains(".css")||s[6].contains(".js")){	 
     }else{
    	 ObjectOutTest qqt = new ObjectOutTest();
    	 Date date=new Date();
    	 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    	 String s1=sdf.format(date);
    	 qqt.wirteString("/home/data/htdocs/web/log/"+s1+".csv", str1); 
     }
     
    }
    
    /* 关闭对象 */  
    reader.close();  
   } catch (FileNotFoundException e) {  
    e.printStackTrace();  
   } catch (IOException e) {  
    e.printStackTrace();  
   }  
}  
/* 出函数入口 */  
public static void main(String args[]) {  
   ObjectOutTest qqt = new ObjectOutTest();  
   Date date=new Date();
   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
   String s=sdf.format(date);
   qqt.readString("/home/logsplit/"+s);
    
     
}  
}  
写完方法生成 jar包,再将jar包放到线上,同时写一个运行jar包的脚本。
cd /home/timer/
export JAVA_HOME=/opt/jdk7
export CLASSPATH=.:$CLASSPATH:/home/timer/rizhijiexi.jar:
export PATH=$JAVA_HOME/bin:$PATH
java -Xms256m -Xmx512m com.ObjectOutTest >>/home/logsplit/ObjectOut.log &
将 运行脚本文件放在 /opt/shell 下
然后
运行 crontab -e 再输入 O 即可插入定时启动脚本的命令
原文:http://www.cnblogs.com/master-zxc/p/6478042.html