您的位置:首页 > 编程语言 > Java开发

java文件生成

2016-03-16 18:42 519 查看
package com.gcy.test.util;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Random;

import org.apache.commons.io.output.FileWriterWithEncoding;
import org.junit.Test;

public class TestGroupGenerator {

private String TARGET_FILENAME = "group_data";
private String TARGET_PATH = "/Users/test/" + TARGET_FILENAME;
Integer[] groupIds = {16,18,19,20,26,27};
String[] name = {"三坊七巷一店","温泉一店","温泉二店","新港一店","温泉三店","三坊七巷二店"};
Integer[] deviceCounts = {12,1,1,6,1,5};
Integer[] onlineCounts = {3,0,4,0,1,1};

@Test
public void generateFile() {
//如果已经存在相同文件则删除
File targetFile = new File(TARGET_PATH);
targetFile.delete();

try {
writtenFile(targetFile);
} catch (IOException e) {
e.printStackTrace();
}
}

//写文件
void writtenFile(File file) throws IOException {
//写文件
file.createNewFile();
FileWriterWithEncoding fw = new FileWriterWithEncoding(file, "utf-8", true);
BufferedWriter bw=new BufferedWriter(fw);

try {
for(int i = 0; i < deviceCounts.length; i ++) {
String onString = "'" + groupIds[i] + "'" + ":{deviceCount:" + deviceCounts[i] + "," +
"onlineCount:" + onlineCounts[0] + "," +
"staCount:" + getInt(100) + "," +
"upFlow:" + getInt(10000) + "," +
"downFlow:" + getInt(10000) + "," +
"gateway:" + getIp() + "," +
"dns:" + getIp() + "," +
"name:" + getString(name[i]) +
"}";
bw.write(onString+"\r\n");
}
bw.flush();
fw.flush();
System.out.println("done");
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
bw.close();
fw.close();
}

}

private String getString(String ob) {
return "'" + ob + "'";
}

private int getInt(int i) {
Random rand = new Random();
return rand.nextInt(i);
}

private String getIp() {
String ip = getInt(255) + "." + getInt(255) + "." + getInt(255) + "." + getInt(255);
return getString(ip);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: