在项目中新建文本文件“a.txt”,并输入若干个整数,每个数字以空格分隔,然后保存。用java编写一段程序,将“a.txt”中整数输出,并按大小降序排列后,以相同的格式写入另一文本文件“b.txt”
public class AToB {
public static void main(String[] args) throws IOException {
//创建字符缓冲输入流对象
BufferedReader br=new BufferedReader(new FileReader("a.txt"));
//创建字符缓冲输出流对象
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
//读写数据,使用字符缓冲流特有功能readLine()
String line;
while ((line=br.readLine())!=null){
//将得到的line字符串用空格分隔存入一个String数组里
String[] s=line.split(" ");
//定义一个数组,把String[]数组中的每一个元素存储到int数组中
Integer[] arr=new Integer[s.length];
for(int i=0;i<arr.length;i++){
arr[i]=Integer.parseInt(s[i]);
}
//按降序排列
//public static <T> Comparator<T> reverseOrder()返回一个对实现Comparable接口的对象集合的自然排序相反的比较器
Arrays.sort(arr, Collections.reverseOrder());
//对Integer数组进行拼接成字符串
StringBuilder sb=new StringBuilder();
for (Integer integer:arr){
sb.append(integer).append(" ");
}
//将StringBuilder类型转换成String
String result=sb.toString();
//写入b.txt
bw.write(result);
//刷新
bw.flush();
}
//释放资源
bw.close();
br.close();
}
}
运行结果: