📄 docgen4bt.java
字号:
/*
* @(#)DocGen4BT.java ver 1.0 7/20/2005
*
* Copyright 2005 Weishuai Yang (wyang@cs.binghamton.edu).
* All rights reserved.
*
*/
package gps.toolbox;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Random;
/**
* generates documents configuration file for BT simulation
* @author Weishuai Yang
* @version 1.0, 7/20/2005
*/
public class DocGen4BT {
/**
* dummy constructor
*/
public DocGen4BT() {
}
/**
* generates documents distribution configureaiton file
*
* @param docnum total document number
* @param docsize document size
* @param pnum number of peer agents
* @param poffset offset of peer agents, i.e. the first agent id of peer node
* @param seed random seed
* @param f output file
*/
public static void gen(int docnum, int docsize, int pnum, int poffset, int seed, String f){
String header1="#Generated by gps.toolbox.DocGen4BT, columns seperated by ','";
String header2="#document number:"+docnum+" document size:"+docsize+" peer number:"+pnum+" peerid offset:"+poffset+" seed:"+ seed;
String header3="#id(number), key(string), size(kbytes), popularity(rank 1-10), initial location(pnode id), server(snode id)";
Random r=new Random(seed);
try
{
BufferedWriter output= new BufferedWriter(new FileWriter(f));
output.write(header1, 0, header1.length());
output.newLine();
output.write(header2, 0, header2.length());
output.newLine();
output.write(header3, 0, header3.length());
output.newLine();
output.newLine();
for(int i=0; i<docnum;i++){
StringBuffer buf=new StringBuffer();
buf.append(i);
buf.append(',');
buf.append("key");
buf.append(i);
buf.append(',');
buf.append(docsize);
buf.append(',');
buf.append(r.nextInt(10));
buf.append(',');
buf.append(r.nextInt(pnum)+poffset);
buf.append(',');
buf.append(r.nextInt(poffset));
String s=buf.toString();
output.write(s, 0, s.length());
output.newLine();
}
output.close();
}
catch (Exception e){
e.printStackTrace();
}
}
/**
* main entrance
* @param args command line parameters
*/
public static void main(String[] args) {
//DocGen4BT.gen(4, 500000, 20, 1, 12345, "config/documents.txt");
DocGen4BT.gen(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]), args[5]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -