我是从txt文本读取的信息,用split分离,现在取出来的数据是string----------337;赵娜;10;1;13488765008
string----------555;高鹏;20;0;13522914394
string----------71;李育强;30;0;13910654647
string----------125;单川;20;1;13701190684
string----------395;张五顺;32;0;13910031262
string----------412;张清会;30;0;13810517386
string----------429;郑卉;34;1;13911110805
string----------467;王蕾;23;0;13911365509
string----------497;鲁玉梅;14;1;13401083616
string----------508;邹温高;54;0;13910068170
string----------528;赵丽霞;23;1;13811729697
string----------531;李颂;43;1;13910012500
string----------167;郑涛;23;0;13811480772
string----------187;朱小弟;26;0;13691204441
string----------230;张学道;54;0;13910975297
string----------1253;赵曙芳;32;1;13601300886
string----------1262;赵蕊;45;0;13718019692
string----------1326;袁胜勇;65;0;13901091435
string----------830;张京;34;1;13683509602我想把这些数据放入,Student对象数组中,不知道怎么放,新手求教。student包括id,name,age,sex,phone

解决方案 »

  1.   

    package a;import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Random;
    class Student{
    private int id  ;
    private String name ;
    private int age ;
    private int sex;
    private String phone ;
    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public int getSex() {
    return sex;
    }
    public void setSex(int sex) {
    this.sex = sex;
    }
    public String getPhone() {
    return phone;
    }
    public void setPhone(String phone) {
    this.phone = phone;
    } public Student() {

    }
    public Student(int id, String name, int age, int sex, String phone) {
    super();
    this.id = id;
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.phone = phone;
    }

    public Student(String[] arr){
    if (arr.length  == 5){
    this.id = Integer.valueOf(arr[0]).intValue() ;
    this.name = arr[1] ;
    this.age = Integer.valueOf(arr[2]).intValue() ;
    this.sex = Integer.valueOf(arr[3]).intValue() ;
    this.phone = arr[4] ;
    }

    }
    @Override
    public String toString() {
    return "Student [id=" + id + ", name=" + name + ", age=" + age
    + ", sex=" + sex + ", phone=" + phone + "]";
    }


    }
    public class ReadStudent { /**
     * @param args
     * @author sunstar
     * @throws FileNotFoundException
     * @date 2012-7-4 上午11:14:15
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub List list = readStudent("D:\\std.txt") ;

    Iterator it = list.iterator() ;
    Student std =  null ;
    System.out.println("========输出结果========") ;
    while(it.hasNext()){
    std = (Student) it.next() ;
    System.out.println(std) ;
    }

    } private static List readStudent(String fileName) {
    BufferedReader br = null ;
    String str = "" ;
    List list = new ArrayList() ;
    String tmp  ;
    Student std = null ;
    try {
    br = new BufferedReader(new FileReader(fileName));
    while ((str = br.readLine()) != null) {
    tmp = str.replaceAll("string----------", "") ;
    System.out.println(str + "   ===  " + tmp) ;
    std = new Student(tmp.split(";" )) ;
    System.out.println(std) ;
    list.add(std) ;
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    br.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return list ;
    }
    }把你的文本放到 D:\std.txt中输出结果:string----------555;高鹏;20;0;13522914394   ===  555;高鹏;20;0;13522914394
    Student [id=555, name=高鹏, age=20, sex=0, phone=13522914394]
    string----------71;李育强;30;0;13910654647   ===  71;李育强;30;0;13910654647
    Student [id=71, name=李育强, age=30, sex=0, phone=13910654647]
    string----------125;单川;20;1;13701190684   ===  125;单川;20;1;13701190684
    Student [id=125, name=单川, age=20, sex=1, phone=13701190684]
    string----------395;张五顺;32;0;13910031262   ===  395;张五顺;32;0;13910031262
    Student [id=395, name=张五顺, age=32, sex=0, phone=13910031262]
    string----------412;张清会;30;0;13810517386   ===  412;张清会;30;0;13810517386
    Student [id=412, name=张清会, age=30, sex=0, phone=13810517386]
    string----------429;郑卉;34;1;13911110805   ===  429;郑卉;34;1;13911110805
    Student [id=429, name=郑卉, age=34, sex=1, phone=13911110805]
    string----------467;王蕾;23;0;13911365509   ===  467;王蕾;23;0;13911365509
    Student [id=467, name=王蕾, age=23, sex=0, phone=13911365509]
    string----------497;鲁玉梅;14;1;13401083616   ===  497;鲁玉梅;14;1;13401083616
    Student [id=497, name=鲁玉梅, age=14, sex=1, phone=13401083616]
    string----------508;邹温高;54;0;13910068170   ===  508;邹温高;54;0;13910068170
    Student [id=508, name=邹温高, age=54, sex=0, phone=13910068170]
    string----------528;赵丽霞;23;1;13811729697   ===  528;赵丽霞;23;1;13811729697
    Student [id=528, name=赵丽霞, age=23, sex=1, phone=13811729697]
    string----------531;李颂;43;1;13910012500   ===  531;李颂;43;1;13910012500
    Student [id=531, name=李颂, age=43, sex=1, phone=13910012500]
    string----------167;郑涛;23;0;13811480772   ===  167;郑涛;23;0;13811480772
    Student [id=167, name=郑涛, age=23, sex=0, phone=13811480772]
    string----------187;朱小弟;26;0;13691204441   ===  187;朱小弟;26;0;13691204441
    Student [id=187, name=朱小弟, age=26, sex=0, phone=13691204441]
    string----------230;张学道;54;0;13910975297   ===  230;张学道;54;0;13910975297
    Student [id=230, name=张学道, age=54, sex=0, phone=13910975297]
    string----------1253;赵曙芳;32;1;13601300886   ===  1253;赵曙芳;32;1;13601300886
    Student [id=1253, name=赵曙芳, age=32, sex=1, phone=13601300886]
    string----------1262;赵蕊;45;0;13718019692   ===  1262;赵蕊;45;0;13718019692
    Student [id=1262, name=赵蕊, age=45, sex=0, phone=13718019692]
    string----------1326;袁胜勇;65;0;13901091435   ===  1326;袁胜勇;65;0;13901091435
    Student [id=1326, name=袁胜勇, age=65, sex=0, phone=13901091435]
    string----------830;张京;34;1;13683509602   ===  830;张京;34;1;13683509602
    Student [id=830, name=张京, age=34, sex=1, phone=13683509602]
    ========输出结果========
    Student [id=555, name=高鹏, age=20, sex=0, phone=13522914394]
    Student [id=71, name=李育强, age=30, sex=0, phone=13910654647]
    Student [id=125, name=单川, age=20, sex=1, phone=13701190684]
    Student [id=395, name=张五顺, age=32, sex=0, phone=13910031262]
    Student [id=412, name=张清会, age=30, sex=0, phone=13810517386]
    Student [id=429, name=郑卉, age=34, sex=1, phone=13911110805]
    Student [id=467, name=王蕾, age=23, sex=0, phone=13911365509]
    Student [id=497, name=鲁玉梅, age=14, sex=1, phone=13401083616]
    Student [id=508, name=邹温高, age=54, sex=0, phone=13910068170]
    Student [id=528, name=赵丽霞, age=23, sex=1, phone=13811729697]
    Student [id=531, name=李颂, age=43, sex=1, phone=13910012500]
    Student [id=167, name=郑涛, age=23, sex=0, phone=13811480772]
    Student [id=187, name=朱小弟, age=26, sex=0, phone=13691204441]
    Student [id=230, name=张学道, age=54, sex=0, phone=13910975297]
    Student [id=1253, name=赵曙芳, age=32, sex=1, phone=13601300886]
    Student [id=1262, name=赵蕊, age=45, sex=0, phone=13718019692]
    Student [id=1326, name=袁胜勇, age=65, sex=0, phone=13901091435]
    Student [id=830, name=张京, age=34, sex=1, phone=13683509602]
      

  2.   

    非常感谢,要是我要根据id查询一条数据怎么弄呢?还有就是sex是boolean类型的
      

  3.   

    package a;import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    class Student{
    private int id  ;
    private String name ;
    private int age ;
    private boolean sex;
    private String phone ;
    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public boolean getSex() {
    return sex;
    }
    public void setSex(boolean sex) {
    this.sex = sex;
    }
    public String getPhone() {
    return phone;
    }
    public void setPhone(String phone) {
    this.phone = phone;
    } public Student() {

    }
    public Student(int id, String name, int age, boolean sex, String phone) {
    super();
    this.id = id;
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.phone = phone;
    }

    public Student(String[] arr){
    if (arr.length  == 5){
    this.id = Integer.valueOf(arr[0]).intValue() ;
    this.name = arr[1] ;
    this.age = Integer.valueOf(arr[2]).intValue() ;
    this.sex = false ;
    if ("1".equals(arr[3])){  //男性 为 1,如果男性为0的话自行修改
    this.sex = true ;
    }
    // this.sex = Integer.valueOf(arr[3]).intValue() ;
    this.phone = arr[4] ;
    }

    }
    @Override
    public String toString() {
    String str = "女" ;
    if (sex) str = "男" ;
    return "Student [id=" + id + ", name=" + name + ", age=" + age
    + ", sex=" + str + ", phone=" + phone + "]";
    }


    }
    public class ReadStudent { public static List stuList = null  ;//new ArrayList() ;
    /**
     * @param args
     * @author sunstar
     * @throws FileNotFoundException
     * @date 2012-7-4 上午11:14:15
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    if (stuList != null) {
    stuList.clear() ;
    }
    stuList = readStudent("D:\\std.txt") ;

    Iterator it = stuList.iterator() ;
    Student std =  null ;
    System.out.println("========输出结果========") ;
    while(it.hasNext()){
    std = (Student) it.next() ;
    System.out.println(std) ;
    }

    System.out.println("查找id = 508 的学生:") ;
    System.out.println(" 结果: " + findById(508));
    System.out.println("查找id = 2000 的学生:") ;
    System.out.println(" 结果: " + findById(2000));

    // List list = readStudent("D:\\std.txt") ;
    //
    // Iterator it = list.iterator() ;
    // Student std =  null ;
    // System.out.println("========输出结果========") ;
    // while(it.hasNext()){
    // std = (Student) it.next() ;
    // System.out.println(std) ;
    // }

    }

    public static Student findById(int id){
    if (stuList == null){
    return null ;
    }
    Student stu = null ;
    for (int i = 0 ; i < stuList.size(); i++){
    stu = (Student)stuList.get(i) ;
    if (stu.getId() == id){
    return stu ;
    }
    }

    return null ;
    } private static List readStudent(String fileName) {
    BufferedReader br = null ;
    String str = "" ;
    List list = new ArrayList() ;
    String tmp  ;
    Student std = null ;
    try {
    br = new BufferedReader(new FileReader(fileName));
    while ((str = br.readLine()) != null) {
    tmp = str.replaceAll("string----------", "") ;
    // System.out.println(str + "   ===  " + tmp) ;
    std = new Student(tmp.split(";" )) ;
    System.out.println(std) ;
    list.add(std) ;
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    br.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return list ;
    }
    }Student [id=555, name=高鹏, age=20, sex=女, phone=13522914394]
    Student [id=71, name=李育强, age=30, sex=女, phone=13910654647]
    Student [id=125, name=单川, age=20, sex=男, phone=13701190684]
    Student [id=395, name=张五顺, age=32, sex=女, phone=13910031262]
    Student [id=412, name=张清会, age=30, sex=女, phone=13810517386]
    Student [id=429, name=郑卉, age=34, sex=男, phone=13911110805]
    Student [id=467, name=王蕾, age=23, sex=女, phone=13911365509]
    Student [id=497, name=鲁玉梅, age=14, sex=男, phone=13401083616]
    Student [id=508, name=邹温高, age=54, sex=女, phone=13910068170]
    Student [id=528, name=赵丽霞, age=23, sex=男, phone=13811729697]
    Student [id=531, name=李颂, age=43, sex=男, phone=13910012500]
    Student [id=167, name=郑涛, age=23, sex=女, phone=13811480772]
    Student [id=187, name=朱小弟, age=26, sex=女, phone=13691204441]
    Student [id=230, name=张学道, age=54, sex=女, phone=13910975297]
    Student [id=1253, name=赵曙芳, age=32, sex=男, phone=13601300886]
    Student [id=1262, name=赵蕊, age=45, sex=女, phone=13718019692]
    Student [id=1326, name=袁胜勇, age=65, sex=女, phone=13901091435]
    Student [id=830, name=张京, age=34, sex=男, phone=13683509602]
    ========输出结果========
    Student [id=555, name=高鹏, age=20, sex=女, phone=13522914394]
    Student [id=71, name=李育强, age=30, sex=女, phone=13910654647]
    Student [id=125, name=单川, age=20, sex=男, phone=13701190684]
    Student [id=395, name=张五顺, age=32, sex=女, phone=13910031262]
    Student [id=412, name=张清会, age=30, sex=女, phone=13810517386]
    Student [id=429, name=郑卉, age=34, sex=男, phone=13911110805]
    Student [id=467, name=王蕾, age=23, sex=女, phone=13911365509]
    Student [id=497, name=鲁玉梅, age=14, sex=男, phone=13401083616]
    Student [id=508, name=邹温高, age=54, sex=女, phone=13910068170]
    Student [id=528, name=赵丽霞, age=23, sex=男, phone=13811729697]
    Student [id=531, name=李颂, age=43, sex=男, phone=13910012500]
    Student [id=167, name=郑涛, age=23, sex=女, phone=13811480772]
    Student [id=187, name=朱小弟, age=26, sex=女, phone=13691204441]
    Student [id=230, name=张学道, age=54, sex=女, phone=13910975297]
    Student [id=1253, name=赵曙芳, age=32, sex=男, phone=13601300886]
    Student [id=1262, name=赵蕊, age=45, sex=女, phone=13718019692]
    Student [id=1326, name=袁胜勇, age=65, sex=女, phone=13901091435]
    Student [id=830, name=张京, age=34, sex=男, phone=13683509602]
    查找id = 508 的学生:
     结果: Student [id=508, name=邹温高, age=54, sex=女, phone=13910068170]
    查找id = 2000 的学生:
     结果: null