复制a.txt到b.txt,并实现数据排序

题意大致的是从喊你把a.txt的内容
a.txt如下

张三 德阳 25
李四 成都 35
王五 绵阳 30

按照年龄排序,排序后的数据记录到b.txt中
其实这道题的简单的很,基本就是考的IO流复制文件再加个实体类,因为是笔试…有一些关键类的名字记不起来了…这是第一次见识到未来工作地点最基本最基本的笔试题…我开始慌了…我大致知道了我的软肋…借助IDE我能够写出代码,但是我一旦手写,就变成了一个傻逼了…

下面就附上我的代码了

public class User {

        private String user;
        private String address;
        private int age;
        public String getUser() {
            return user;
        }
        public void setUser(String user) {
            this.user = user;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return getUser()+" "+getAddress()+" "+getAge();
        }

}
public class IOTest {

      private static ArrayList<User> users;

      public static void main(String[] args) throws IOException {

              BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));

              BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));

              String line=null;

              users=new ArrayList<User>();

              while((line=br.readLine())!=null) {
                      User user=new User();
                      String [] att=line.split(" ");
                      user.setUser(att[0]);
                      user.setAddress(att[1]);
                      user.setAge(Integer.valueOf(att[2]));
                      users.add(user);
              } 

              br.close();
              Collections.sort(users,new Comparator<User>() {
                  @Override
                public int compare(User o1, User o2) {
                    if(o1.getAge()>o2.getAge())
                      return 1;
                    return -1;
                }
            });

              for(User user:users) {
                   bw.write(user.toString());
                   bw.write("\n");
                   bw.flush();
              }

              bw.close();

    }
}

这里写图片描述
等到下学期开始的时候…我要经常多手写代码了……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值