io - Reading file with different start and end delimiters in java -


i trying implement meeting scheduling algorithm. want randomly generate meetings , store in file. read file in code, create different agents try schedule these meetings.

my input meeting file follows:

1  20  25  [1, 2, 3, 4, 5]  [4, 5]  2  21  29  [1, 6, 7, 5, 33]  [1, 5, 33] 

from left right, these values indicate meeting id, start time, hard deadline, attendees id list, essential attendees id list.

basically combination of integers , integer arraylist(dynamic,size not fixed). store this, have used code

file fleexample = new file("meeting.txt") printwriter m1 = new printwriter(fleexample); m1.print(m.getmeetingid()+" "+m.getstarttime()+" "+m.getharddeadline()+" "+m.getattendees()+" "+m,getessentialattendees()); m1.println(); 

i want read these values , set integer variables , integer arraylist.

  fileinputstream fstream = new fileinputstream("meeting.txt");   datainputstream inp = new datainputstream(fstream);   bufferedreader br = new bufferedreader(new inputstreamreader(inp));   string strline;   while ((strline = br.readline()) != null)   {         string[] tokens = strline.split(" ");         (int = 0; < meetingcount; i++) {                meeting meet = new meeting();                meet.setmeetingid(integer.valueof(tokens[0]));                meet.setstarttime(integer.valueof(tokens[1]));                meet.setharddeadline(integer.valueof(tokens[2]));         }    } 

i able set values integers not find way same arraylist.i want store string arraylist. in direction great.

i'm not sure implementation (and meeting object about), if want assign them either int or list variable, try using scanner , reading them 1 one:

string str = "1 20 25 [1 2 3] [4 5]";  scanner scan = new scanner(str); int intvariable = 0; arraylist<integer> listvariable = null; //null marks no active list  while (scan.hasnext()) { //try/catch here highly recommeneded!      //read next input (separated whitespace)     string next = scan.next();      if (next.startswith("[")) {         //init new list , store first value         listvariable = new arraylist<integer>();         listvariable.add(integer.parseint(next.substring(1)));     } else if (next.endswith("]")) {         //add last item list         listvariable.add(integer.parseint(next.substring(0, next.length()-1)));         system.out.println(arrays.tostring(listvariable.toarray()));         //reset list null         listvariable = null;     } else {         //if inside list, add list, otherwise integer         if (listvariable != null) {             listvariable.add(integer.parseint(next));         } else {             intvariable = integer.parseint(next);             system.out.println(intvariable);         }     } } 

here printed output, can of course project whatever need have, or have list of integer values , list of integer list values.

also note, in example took 1 line of file, can provide scanner file directly (no need read line line).

hope helps.