Java使用Reader类的BufferedReader和BufferedWriter处理文件

问题描述:产生15个20~9999之间的随机整数,然后利用BufferedWriter类将其写入文件file2.txt文件中:之后再读取文件中的数据并将它们以升序排序。
先利用Random的nextInt()方法产生随机数,用数组a[15]保存。文件写入时注意要把写入的数据转换,即out.write(Integer.toString(a[len]));否则写入的内容会变成乱码。写入内容后换行,便于等下读出来。写入缓冲区完成后使用flush()将缓冲区中的数据写到文件中并关闭缓冲流。利用BufferedReader类的readLine()方法每次读取一行并转换数据类型为整形并保存进数组b里面,再利用Arrays.sort(b);方法把数组b排序再输出b数组的每个值。

package ch;
import java.io.*;
import java.util.Arrays;
import java.util.Random;
public class BufferedWriterDemo {
	public static void main(String[] args) throws IOException {
		int a[]=new int[15];
		int len=0;
		Random random=new Random();
		for(int i=0;i<=a.length-1;i++) {
			a[i]=random.nextInt(9999)+20;//用数组保存产生的随机数
		}
		try{
	    	BufferedWriter out=new BufferedWriter(new FileWriter("D:\\Java文件空间\\file2.txt"));
	    	while(len<=14) {
	    		out.write(Integer.toString(a[len]));//写入到缓冲区
		    	len++;
	    		out.newLine();//每写入一个随机数换一行
	    	}
	    	out.flush();//将缓冲区的数据写入到文件
	      	out.close();//关闭缓冲区
	    	FileReader fr=new FileReader("D:\\Java文件空间\\file2.txt");
		    BufferedReader in=new BufferedReader(fr);
		    String str;
		    int b[]=new int [15];
	    	int position=0;
		    while((str=in.readLine())!=null) {//读出数据,每次只读一行
			    b[position]=Integer.parseInt(str);//读出后进行数据类型转换并保存进数组
			    position++;
		    }
		    Arrays.sort(b);//给数组排序
		for(int k=0;k<b.length;k++) {
			System.out.println(b[k]);//输出数组b的数据
		}
		in.close();
		}
		catch(IOException ioe) {//捉住异常
			System.out.println("错误!"+ioe);
		}
		
	}
} 

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值