复制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();
}
}
等到下学期开始的时候…我要经常多手写代码了……