代码示例:
package cn.zxj.com;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Random;
/*
用字节流实现:产生10个1-100的随机数,并放到一个数组中,
把数组中大于等于50的数字放到一个list集合中,并打印到控制台,
把数组中的剩余数字放到当前文件夹的number.txt文件中
*/
class Test {
public static void main(String[] args){
//生成10个1-100的随机数放数组
int[] arr = randomArray();
//处理数组
handleArray(arr);
}
private static void handleArray(int[] arr) {
ArrayList<Integer> list = new ArrayList<>();
System.out.print("原始数据:");
//先删除
File file = new File("number.txt");
file.delete();
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
if(arr[i]>50){
list.add(arr[i]);
}else{
//写入number.txt
writeNumber(arr[i],file);
}
}
System.out.println();
System.out.println("list数据:"+list.toString());
System.out.print("其它数据已写入number.txt");
}
private static void writeNumber(int i,File file) {
FileOutputStream out = null;
try{
if(!file.exists()){
file.createNewFile();
}
out = new FileOutputStream(file, true);
out.write((i+"\r\n").getBytes());
}catch (Exception e){
e.printStackTrace();
}finally {
try {
out.close();
}catch (Exception e){
}
}
}
private static int[] randomArray() {
int[] arr = new int[10];
for(int i = 0;i<10;i++){
int r = new Random().nextInt(100) + 1;
arr[i] = r;
}
return arr;
}
}