最终产出文件内容举例:

Java 虚拟调研问答写入文件_虚拟调研问答写入文件

 代码如下:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;

public class Test2 {

public static void main(String[] args) throws IOException{
String path = "D:\\test.txt";
File file = new File(path);
if(!file.exists()){
file.getParentFile().mkdirs();
}
file.createNewFile();

// write
FileWriter fw = new FileWriter(file, true);
BufferedWriter bw = new BufferedWriter(fw);
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0;i<125;i++){
sb.append(" - - - - - - - - - - - - - - 用户"+(i+1)+" - - - - - - - - - - \r\n");
sb.append("1.您是否有孩子?\r\n");
int i1 = random.nextInt(3);
if (i1==0){
sb.append("是\r\n");
}else {
sb.append("否\r\n");
}

sb.append("2.您孩子的性别?\r\n");
int i2 = random.nextInt(2);
if (i2==0){
sb.append("男\r\n");
}else {
sb.append("女\r\n");
}
sb.append("3.您孩子的年龄是否是3到6、7岁?\r\n");
int i3 = random.nextInt(3);
if (i3==0){
sb.append("是\r\n");
}else {
sb.append("否\r\n");
}
sb.append("4.您是否愿意为孩子购买玩具?\r\n");
int i4 = random.nextInt(10);
if (i4>2){
sb.append("是\r\n");
}else {
sb.append("否\r\n");
}
sb.append("5.您多久购买一次玩具?\r\n");
int i5 = random.nextInt(10);
if (i5>4){
sb.append("随时购买\r\n");
}else if (i5 == 3){
sb.append("三个月\r\n");
}else if (i5 == 2){
sb.append("一周\r\n");
}else if (i5 == 1){
sb.append("半年\r\n");
}else {
sb.append("一个月\r\n");
}
sb.append("6.购买什么类型的玩具?\r\n");
if (i5>7){
sb.append("益智类\r\n");
}else if (i5 < 6){
sb.append("拼图玩具类\r\n");
}else if (i5 < 5){
sb.append("游戏玩具类\r\n");
}else if (i5 < 4){
sb.append("工具类/文字数字类\r\n");
}else {
sb.append("其他\r\n");
}
sb.append("7.购买玩具时更看重什么?\r\n");
if (i5>8){
sb.append("玩具的功能\r\n");
}else if (i5 < 6){
sb.append("玩具的安全性\r\n");
}else if (i5 < 5){
sb.append("玩具的外观和材质\r\n");
}else if (i5 < 4){
sb.append("孩子喜欢什么买什么\r\n");
}else {
sb.append("其他\r\n");
}
sb.append("8.您在购买玩具方面打算支出多少?\r\n");
if (i5<6){
sb.append("0~1000元\r\n");
}else if (i5 >6){
sb.append("1000~3000元\r\n");
}else {
sb.append("3000元以上\r\n");
}
sb.append("9.日常休息中您愿意和孩子一起玩耍吗?\r\n");
if (i5<6){
sb.append("非常愿意\r\n");
}else if (i5 >6){
sb.append("比较愿意\r\n");
}else {
sb.append("其他\r\n");
}
sb.append("10.您有推荐的玩具吗?\r\n");
sb.append(" \r\n");


}
bw.write(sb.toString());
bw.flush();
bw.close();
fw.close();

// read
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str = br.readLine();
System.out.println(str);
}

}

原理:

1.文件创建(内容载体&最终输出)

2.for循环持续拼接StringBuilder(文本内容)

3.随机数决定每个答案的概率(概率回答&定制内容)

4.IO字符流将StringBuilder最终内容写入 test.Text 文件(产出)