生成本地文件/格式化时间/获取时间差 工具类

/**
 * 
 */

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.feinno.scort.exp.model.LevelDaily;
/**
 * @author HuangXuebin
 * @date 2012-10-11
 * @Version V 1.0
 */
public class GeneralUtil {
	private long hours;
	private long minutes;
	private long seconds;
	/**
	 * 生成文件
	 * @param filePathAndName 生成文件路径及文件名
	 * @param levelDaily 文件内容
	 */
	 public void createNewFile(List<LevelDaily> levelDaily,String filePathAndName) {
	        try {
	            File myFilePath = new File(filePathAndName.toString());
	            if (!myFilePath.exists()) { // 如果该文件不存在,则创建
	                myFilePath.createNewFile();
	            }
	            // FileWriter(myFilePath, true); 实现不覆盖追加到文件里
	             //FileWriter(myFilePath); 覆盖掉原来的内容
	            FileWriter resultFile = new FileWriter(myFilePath, true);//文件流
	            BufferedWriter bufferedWriterFile = new BufferedWriter(resultFile);//缓存流
	            PrintWriter myFile = new PrintWriter(bufferedWriterFile);//输出流这个是高级流可以自动释放缓存
	            for(LevelDaily ld:levelDaily){
					StringBuilder query = new StringBuilder();
					query.append(ld.getUid());
					query.append("-");
					query.append(ld.getLevel());
					myFile.println(query.toString());//写文件
				}
	            bufferedWriterFile.flush();
	            resultFile.close();
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	}

	/**
	 * 获取系统时间 格式可自定义
	 * yyyyMMdd获取只有年月日的时间
	 * yyyyMMddHHmmss获取带毫秒的时间
	 * yyyyMMddHHmmssssssss获取带6位毫秒的时间
	 * 
	 * @return
	 */
	public String getnowDate(String format) {
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(new Date());
	}
	/**
	 * 
	 * 函数名称: getUseTime
	 * 函数功能描述:计算时间差(时分秒) 
	 *  @param start
	 *  @param end
	 *  @return MyDateUtil 装有时分秒信息
	 */
	public static GeneralUtil getUseTime(Date start,Date end){
		//计算时间差
		long timeMillis = end.getTime() - start.getTime();
		
		long h = timeMillis/(1000*60*60);
		long m = (timeMillis - h*1000*60*60)/(1000*60);
		long s = (timeMillis - h*1000*60*60 - m*60*1000)/1000;
		
		GeneralUtil util = new GeneralUtil();
		util.setHours(h);
		util.setMinutes(m);
		util.setSeconds(s);
		
		return util;
	}
	public long getHours() {
		return hours;
	}

	public void setHours(long hours) {
		this.hours = hours;
	}

	public long getMinutes() {
		return minutes;
	}

	public void setMinutes(long minutes) {
		this.minutes = minutes;
	}

	public long getSeconds() {
		return seconds;
	}

	public void setSeconds(long seconds) {
		this.seconds = seconds;
	}
}

你可能感兴趣的:(生成本地文件/格式化时间/获取时间差 工具类)