Hab eine Klasse geschrieben die aus einer Datei eine Zeile Rausholt und diese nachher durch eine Zeile anderen Inhalts ersetzen soll. Aber das delete in Zeile 36 schlägt fehl.
Code:
package DbSetup;
import java.io.*;
import java.util.Vector;
class DbSetupFile {
private File datei;
private Vector content = new Vector ();
public DbSetupFile(String filename) {
datei = new File (filename);
try {
RandomAccessFile raf = new RandomAccessFile (datei, "r");
while (raf.read()!=-1) {
raf.seek(raf.getFilePointer()-1);
content.add(raf.readLine());
}
}
catch (Exception ex) {
System.out.println (ex);
}
}
public String getDatabase () {
for (int i=0; i<content.size(); i++) {
if (content.get(i).toString().equals("[Databases]")) {
return content.get(i+1).toString();
}
}
return "Einlesen Fehlgeschlagen";
}
public void setDatabase (String dbname) {
try {
if (!datei.delete()) System.out.println("Waaaaaaahhh!!!!");
datei.createNewFile();
RandomAccessFile raf = new RandomAccessFile (datei, "rw");
for (int i=0; i<content.size(); i++) {
raf.writeBytes(content.get(i).toString()+"\r\n");
if (content.get(i).toString().equals("[Databases]")) {
i++;
raf.writeBytes(dbname + "\r\n");
}
}
}
catch (Exception ex) {
System.out.println(ex);
}
}
}