Zeile aus einer Datei löschen

RipdEaTh

Mitglied
Hi Leute!

Ich habe gerade ein kleines Problem..
Ich möchte mit Java eine Zeile aus einer Datei löschen.
Die Datei listet verschiedene Datenbankverbindungen auf, die von meinem Tool ausgelesen werden.
In dem Tool kann man zwischen den Verbindungen auswählen und jeweils auch immer nur eine markieren. Als Idendifikator dient mir der Name der Verbindung. Diesen bekommt die Löschen-Funktion geliefert.

Hier erstmal der Aufbau der Datei:
Code:
Blah3;sonstwo;4321;test;test;test
Default;sonstwas;3306;root;password;hassahussu
Blah2;sonstwo;4321;test;test;test
TestVerbindung;Ein PC;1234;Benutzer1234;sgdsfg;sgdsfh
Blah;sonstwo;4321;test;test;test
Blah4;sonstwo;4321;test;test;test

Ich versuchs derweil mit folgendem Code (der ziemlich unsauber ist, da er schnell zusammengefrickelt war).. Bekomm dabei aber eine "Zugriff verweigert - Exception".. Gibts ne bessere Methode als diesen Code hier?

Java:
	public void delete(String inProfile) {
		String line;
		String[] lines;
		if (in != null) {
			try {
				int linesInt = 0;
				in.seek(0);
				while ((line = in.readLine()) != null) 
					if (line.trim().length() > 0) 
						linesInt++;
				
				in.seek(0);
				lines = new String[linesInt];
				
				in.seek(0);
				for (int i = 0; ((line = in.readLine()) != null); i++) {
					line = line.trim();
					if (line.length() > 0) {
						String[] curProf = line.split(";");
						if (!curProf[0].equals(inProfile)) {
							
							lines[i] = line;
						}
					}
				}
				in.seek(0);
				in.setLength(0);
				
				for (int i = 0; i < lines.length; i++) {
					in.writeChars(lines[i] + "\n");
				}
				
				in.seek(0);
			} catch (Exception e) { e.printStackTrace(); }
		}
	}

Würde gern die Klasse "RandomAccessFile" weiterverwenden, da ich sonst den Rest des Tools anpassen müsste. Aber wenns nicht anders geht ^^ Würde mich freuen, wenn ihr mir helfen könntet.

LG Flo
 
Zurück