欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-09 22:42:45
...

题意大致的是从喊你把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();

    }
}

复制a.txt到b.txt,并实现数据排序
等到下学期开始的时候…我要经常多手写代码了……