package pack1;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class WriteAndReadData {
public static void main(String[] args) throws IOException {
File file = new File("D:\\Exercise12_15.txt");
if (!file.exists()) file.createNewFile(); //如果文件不存在,创建文件
outputData(file, getData(100, 200, 255)); //输出数据
Scanner input = new Scanner(file);
ArrayList<Integer> integers = new ArrayList<>();
while (input.hasNextInt()) //数组列表添加值
integers.add(input.nextInt());
Collections.sort(integers); //调用sort方法排序
printData(integers, 10);
}
/**打印数据*/
public static void printData(ArrayList<?> list, int wordsPerLine) {
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
if((i + 1) % wordsPerLine == 0)
System.out.println();
}
}
/**返回数据*/
public static String getData(int length, int src, int end) {
int[] integers = new int[length]; //length长度的整型数组
for (int i = 0; i < integers.length; i++) //数组添加从src到end的随机整数
integers[i] = src + new SecureRandom().nextInt(end - src);
StringBuilder stringBuilder = new StringBuilder();
for (int i : integers) //字符串构建器添加数组的值并加上空格
stringBuilder.append(i).append(' ');
return stringBuilder.toString();
}
/**输出数据*/
public static void outputData(File file, String text) throws IOException{
try(PrintWriter output = new PrintWriter(file);) {
output.write(text);
}
}
}