I am reading data about seats for a reservation system out of a text file and into an ArrayList. A line ill be put into a variable fileLine. The file line is the split up from every "," and put into an array called components. Then the components are put into objects.
Example of txt file
1a, first, window, notable, forward, noeoa, false, null
1b, first, nowindow, notable, forward, noeoa, false, null
2a, first, window, notable, forward, eoa, false, null
2b, first, nowindow, notable, forward, eoa, false, null
3a, first, window, table, forward, noeoa, false, null
3b, first, nowindow, table, forward, noeoa, false, null
This then goes into a if statement to check if the seat is suitable and if it is i want to change false to true and add passenger name to null but only on seat that is suitable. I want to know if there is any way that I can overwrite a specific line in a text file. The line number is stored in a variable called lineCounter
Scanner inFile = new Scanner(
new FileReader("seats.txt"));
ArrayList<seat> seats = new ArrayList<>();
Boolean var = false;
while (inFile.hasNext()) {
String fileLine = inFile.nextLine();
seats.add(new seat(fileLine));
if (seat.classs.equals(seatClass) && (seat.window.equals(seatLocation) || seat.both != null)
&& seat.table.equals(seatTable) && seat.face.equals(seatFace) && seat.EOA.equals(seatEOA)
&& seat.resevered == false) {
System.out.print("Seat " + seat.seat + " Booked");
var = true;
seat.resevered = true;
seat.resName = emailSelect;
}
Where fileLine is split
public seat(String fileLine)
{
String[] components = fileLine.split(",");
if (components[7].equals("null"))
this.resName = null;
else
this.resName = components[7];
if (components[2].equals(" both"))
this.both = "notnull";
else
this.both = null;
this.seat = (components[0].trim());
this.classs = (components[1].trim());
this.window = (components[2].trim());
this.table = (components[3].trim());
this.face = (components[4].trim());
this.EOA = (components[5].trim());
this.resevered = Boolean.parseBoolean(components[6].trim());
}