Java 创建数据文件

创建数据文件:

package com.test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class CreateData {
	private Log log = LogFactory.getLog(this.getClass().getName());

	private String parrent = "test_%s01_%s.txt";
	private int index = 0;

	private String basePath = "C:/Linux Upload/data/";
	private String path;
	private String day;
	private int pageData = 10;
	private int pages = 3;

	public CreateData(String path, String day, int pageData, int pages) {
		this.path = basePath + day + "/";
		this.day = day;
		this.pageData = pageData;
		this.pages = pages;
	}

	public CreateData(String day, int pageData, int pages) {
		this.path = this.basePath + day + "/";
		this.day = day;
		this.pageData = pageData;
		this.pages = pages;
	}

	public CreateData(String day) {
		this.path = this.basePath + day + "/";
		this.day = day;
	}

	public CreateData() {
	}

	public void createFiles(String day, String mobile8) {
		this.day = day;
		this.path = this.basePath + day + "/";
		createFiles(mobile8);
	}

	public void createFiles(String mobile8) {
		if (day != null && day.length() == 8) {
			for (int i = 0; i < pages; i++) {
				String fileName = String.format(parrent, day, getIndex());
				createFile(fileName, mobile8, "" + i);
			}
		} else {
			log.info("Export data:please input day.");
		}
	}

	private String getIndex() {
		String rs = "";
		if (index < 10) {
			rs = "00" + index;
		} else if (index < 100) {
			rs = "0" + index;
		} else {
			rs = "" + index;
		}
		index++;
		if (index > 999) {
			index = 0;
		}
		return rs;
	}

	private String getString3(int index) {
		String rs = "";
		if (index < 10) {
			rs = "00" + index;
		} else if (index < 100) {
			rs = "0" + index;
		} else {
			rs = "" + index;
		}
		return rs;
	}

	private void createFile(String fileName, String mobile8, String index) {
		try {
			File file = new File(path + fileName);
			if (!file.getParentFile().exists()) {
				file.getParentFile().mkdirs();
			}
			FileOutputStream fos = new FileOutputStream(file);
			OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
			BufferedWriter bw = new BufferedWriter(osw);
			bw.write(fileName + "," + pageData + "\t\n");
			log.info("Export data:create file " + fileName);

			List<String[]> list = new ArrayList<String[]>();
			for (int i = 0; i < pageData; i++) {
				String[] r = new String[5];
				r[0] = mobile8 + index + getString3(i + 1);
				r[1] = "01";
				r[2] = "443322" + day + index;
				r[3] = "106" + day + index;
				r[4] = "554433" + day + index;
				list.add(r);
			}
			exportToFile(bw, list);
			bw.close();
			osw.close();
			fos.close();
			log.info("Export data:create file " + fileName + " finish.");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void exportToFile(BufferedWriter bw, List<String[]> list) {
		String[] values = null;
		String line = "";
		for (int i = 0; i < list.size(); i++) {
			values = list.get(i);
			line = values[0].toString() + ",";
			line += values[1].toString() + ",";
			line += values[2].toString() + ",";
			line += values[3].toString() + ",";
			line += values[4].toString();
			try {
				bw.write(line + "\n\r");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		CreateData cd = new CreateData();
		int len = 4;
		for (int i = 0; i < len; i++) {
			cd.createFiles("2013091" + i, "13" + (5 + i) + "0001");
		}
	}
}

猜你喜欢

转载自xujava.iteye.com/blog/1942878
今日推荐