import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.StreamTokenizer; public class PersonFile { public static void main(String[] args) { PersonFile in = new PersonFile(); Person[] people = in.getPeopleFromFile("people.txt"); for (int i = 0; i < people.length; i++) { System.out.println(people[i]); } } public Person[] getPeopleFromFile(String fileName) { try { BufferedReader in = new BufferedReader(new FileReader(fileName)); int count = 0; while (in.readLine() != null) { count++; } in.close(); Person[] people = new Person[count]; StreamTokenizer tokens = new StreamTokenizer(new FileReader(fileName)); tokens.whitespaceChars(':', ':'); count = 0; int nextToken = -1; while ((nextToken = tokens.nextToken()) != StreamTokenizer.TT_EOF) { if (nextToken == StreamTokenizer.TT_WORD) { String lastName = tokens.sval; tokens.nextToken(); String firstName = tokens.sval; tokens.nextToken(); int age = (int)tokens.nval; tokens.nextToken(); long ssid = (long)tokens.nval; people[count++] = new Person(lastName, firstName, age, ssid); } } return people; } catch (IOException e) { e.printStackTrace(); return null; } } } class Person { private String lastName, firstName; private int age; private long ssid; public Person(String lastName, String firstName, int age, long ssid) { this.lastName = lastName; this.firstName = firstName; this.age = age; this.ssid = ssid; } public String toString() { return "Last: " + lastName + " First: " + firstName + " Age: " + age + " SSID: " + ssid; } }