package CrowdBenchmark.tools.io;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import CrowdBenchmark.models.Answer;
public class Crowd_TxtWriter {
private static Crowd_TxtWriter singleton;
private static String outputPath;
private Crowd_TxtWriter() {
// outputPath = Mainconfig.getInstance().getListConfig().get("Output");
outputPath = "./";
}
public static Crowd_TxtWriter getInstance() {
if (singleton == null) {
singleton = new Crowd_TxtWriter();
}
return singleton;
}
private String Answers2String(List<Answer> input) {
String content = "Worker" + "\t" + "Question" + "\t" + "Answer" + "\n";
for (Answer answer : input) {
content += answer.getWorker() + "\t" + answer.getQuestion() + "\t"
+ answer.getAnswer() + "\n";
}
return content;
}
public String WriteToFile(List<Answer> input, String filename) {
File outfile = new File(filename);
try {
/*
* if (!(new File(outfile.getParent()).exists())) { (new
* File(outfile.getParent())).mkdirs(); }
*/
BufferedWriter bw = new BufferedWriter(new FileWriter(outfile));
bw.write(Answers2String(input));
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
return outfile.getAbsolutePath();
}
public String WriteToFile(String input, String filename) {
File outfile = new File(outputPath + filename + ".txt");
if (outfile.exists())
try {
outfile.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(outfile));
bw.write(input);
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
return outfile.getAbsolutePath();
}
}