要求:15倍数的时刻开始写文件,然后15分钟写一个,当然不是15分钟后写,只是名字叫这个而已
我现在的程序必须是15倍数运行才可以。。
我想任意时刻开始都能达到15分钟写一次。是csv格式文件。。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;public class CreateCSVFile
{    protected static char _CSV_CHAR = ',';    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException
    {
        // 创建文件
        for (int i = 0; i < 100; i++)
        {
            Date date = new Date();
            long end = date.getTime() + 15 * 60 * 1000 * i;
            date.setTime(end);           
            String fileName = dateToStr(date);
            File file = new File("C:\\" + fileName + ".csv");
            FileOutputStream fos = new FileOutputStream(file);
            OutputStreamWriter osw = new OutputStreamWriter(fos);
            BufferedWriter bw = new BufferedWriter(osw);
            export_column(bw);
            export_rowData(bw, fileName);
            //  写文件
            bw.flush();
            bw.close();
        }
    }    /**
     * 将某个日期以固定格式转化成字符串
     * 
     * @param date
     * @return String
     */
    public static String dateToStr(java.util.Date date)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm");
        String str = sdf.format(date);
        return str;
    }    private static void export_column(BufferedWriter bw) throws IOException
    {
        String str = "COLLECTTIME,GRANULARITY,STATUS,SUBNETWORKID,G3NODEBMEID,OBJECTID";
        StringTokenizer token = new StringTokenizer(str, ",");
        while (token.hasMoreElements())
        {
            String writeStr = token.nextElement().toString();
            bw.write(writeStr);
            bw.write(_CSV_CHAR);
        }
        bw.newLine();
    }    private static void export_rowData(BufferedWriter bw, String str) throws IOException
    {
        for (int r = 0; r < 1; r++)
        {
            for (int c = 0; c < 6; c++)
            {
                if (c != 0)
                {
                    bw.write(_CSV_CHAR);
                }
                String writeStr = "test";
                if (c == 0)
                {
                    writeStr = str;
                }
                String strCol = writeStr;
                bw.write(strCol);
            }
            bw.newLine();
        }    }
}