用重定向方法从文件中读入或写入数据
1.问题描述
先产生10000个随机数,每十个一行,放入文件中。(用重定向方法)
用重定向方法,从文件中读入10000个数字,打印出前十名。(不许调用排序方法)
2.程序如下:
2.1 写入
代码如下
importjava.util.Scanner;
importjava.util.List;
importjava.util.ArrayList;
publicclassA{
staticvoidto_txt(){
for(inti=1;i<=10000;i++){
System.out.print((int)(Math.random()*10000+1)+" ");
if(i%10==0) System.out.println();
}
}
publicstaticvoidmain(String[] args){
to_txt();
}
}
2.2 读出
代码如下
importjava.util.Scanner;
importjava.util.List;
importjava.util.ArrayList;
publicclassA{
staticvoidread_txt(intk){//此处参数表示打印前k项
Listlst =newArrayList();
Scanner scan =newScanner(System.in);
String s = scan.nextLine();
String[] x = s.split(" ");
lst.add(Integer.parseInt(x[0]));
for(inti=1;iintb = Integer.parseInt(x[i]);
if(blst.add(b);
continue;
}
for(intj=0;jif(b>lst.get(j)){
lst.add(j,b);
break;
}
}
}
for(inti=0;iSystem.out.print(lst.get(i)+" ");
}
}
publicstaticvoidmain(String[] args){
read_txt(10);
}
}
3.运行结果
3.1、从Java文件位置进入控制台,在控制台输入Java文件 > txt文件,就能将运行结果写入指定txt文件(要写入的文件)中。
此时运行结果不在控制台显示,而写入了指定文件中
3.2、在Java文件位置处进入控制台,在控制台输入Java + 文件名 < 指定txt文件(要读的文件)
如下图即为要输出的所读入的数据的前十项。