IO操作

[code="java"]package demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

//读取文件内容如下:
//乔巴 6
//娜美 4
//香吉士 5
//路飞 1
//按数字顺序从大到小 将每行信息重新排列后在写入另一个文件中
public class Demo5 {
public static void main(String[] args) {
File file1 = new File("D:/mydir/haizei.txt");
File file2 = new File("D:/mydir/haizei1.txt");
List<Member> mem = new ArrayList<Member>();
BufferedReader br=null;
String s;
try{
br=new BufferedReader(new FileReader(file1));
while((s=br.readLine())!=null) {
Member m =new Member();
String[] a=s.split(" ");
m.name=a[0];
m.i=Integer.parseInt(a[1]);
mem.add(m);
}
br.close();
for(int k=0;k<mem.size();k++){
for(int j=k+1;j<mem.size();j++){
if(!mem.get(k).compare(mem.get(j))){
Member temp=new Member();
temp.i=mem.get(k).i ;
temp.name =mem.get(k).name;
mem.set(k, mem.get(j));
mem.set(j, temp);
}
}
}
BufferedWriter bw=new BufferedWriter(new FileWriter(file2));
for(int k=0;k<mem.size();k++) {
bw.write(mem.get(k).name+" "+mem.get(k).i);
bw.newLine();
}
bw.flush();

}catch(IOException e) {
e.printStackTrace();
}



}
}


class Member{
int i;
String name;
public boolean compare(Member m) {
if(this.i<m.i){
return true;
}else return false;
}
}


看到一道题目自己编程实现了一下。不知这样写好不好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值