java读取一个文件并排序输出 求大神改改
我的文件内容如下:的萨芬 2017-06-05 89
大苏打 2017-06-05 56
很多事 2017-06-05 23
代码如下:
import java.io.*;
import java.util.*;
public class IoSort
{
public static void main(String[] args)throws Exception
{
//将文件按行读入
String str=null;
FileReader fr=new FileReader("C:\\source\\123.txt");
BufferedReader br=new BufferedReader(fr);
ArrayList ar=new ArrayList();
str=br.readLine();
//将文件每行分割 放入Data对象 再将对象放入ArrayList进行排序
while(str!=null)
{
String[] data=str.split(" ");
Data dd=new Data();
dd.name=data;
dd.date=data;
dd.score=Integer.parseInt(data);
ar.add(dd);
str=br.readLine();
}
br.close();
fr.close();
Collections.sort(ar);
for(int i=0;i<ar.size();i++)
{
System.out.println(ar.get(i).toString());
}
}
}
//对data类写排序规则
class Data implements Comparable
{
public String name;
public String date;
public int score;
public int compareTo(Object o)
{
Data da=(Data)o;
if(this.score==da.score)
return 0;
else if(this.score>da.score)
return 1;
else
return -1;
}
public String toString()
{
return name+" "+date+" "+score;
}
}
查了下 留个链接给你。希望有用http://transcoder.tradaquan.com/from=1000539d/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%401320_2001%2Cta%40iphone_1_11.0_3_604/baiduid=7289BC2621E674479479D178896EBD14/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=13918037973058665388&order=1&fm=alop&h5ad=1&srd=1&dict=32&tj=www_normal_1_0_10_title&url_mf_score=4&vit=osres&m=8&cltj=cloud_title&asres=1&title=对ArrayList中对象元素进行排序-大神不解释-博客园&w_qd=IlPT2AEptyoA_yi9DlG9JyobqsNVjJAnzDm&sec=21567&di=5e0d6d20a7093744&bdenc=1&tch=124.268.342.193.1.117&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAYSXgRDrIBUTbsGeBfMpCtXLR_m9n9R2Bq0IwdzZz&eqid=c126cdcbaa8f3800100000025936ca6f&wd=&clk_info=%7B%22srcid%22%3A%221599%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1496762994247%2C%22sig%22%3A%222516%22%2C%22xpath%22%3A%22div-a-h3%22%7D
页:
[1]