G
Guest
Gast
Hallo,
ich komme mit einem Problem nicht allein klar und brauche eure Hilfe. Ich habe ein Program geschrieben, in dem ich neue Vektoren erzeuge und die in eine Textdatei schreibe, nachher wird die Datei gelöscht und neue Vektoren werden in neue erzeugte Datei reingeschrieben.
Ich habe den Fehler, dass die Datei manchmal überhaupt nicht gelöscht wird und es werden die neuen Vektoren dazu geschrieben. Ich habe gelesen, es kann sein,dass die Textdatei geöffnet ist und das ist der Grund weil die nicht gelöscht wird. Im laufe des Programms bleibt aber die Datei geschlossen.
hier ist mein Code:
Aufruf:
Danke im Voraus für eure Hilfe
ich komme mit einem Problem nicht allein klar und brauche eure Hilfe. Ich habe ein Program geschrieben, in dem ich neue Vektoren erzeuge und die in eine Textdatei schreibe, nachher wird die Datei gelöscht und neue Vektoren werden in neue erzeugte Datei reingeschrieben.
Ich habe den Fehler, dass die Datei manchmal überhaupt nicht gelöscht wird und es werden die neuen Vektoren dazu geschrieben. Ich habe gelesen, es kann sein,dass die Textdatei geöffnet ist und das ist der Grund weil die nicht gelöscht wird. Im laufe des Programms bleibt aber die Datei geschlossen.
hier ist mein Code:
Code:
public static void deleteFile(String file) throws IOException {
File f1 = new File(file);
if (f1.exists()) {
f1.deleteOnExit();
System.out.println("File deleted ");
}else{
System.out.println("File does not exist");
}
}
public static boolean createNewFile(String filename) {
boolean create = true;
File file = new File(filename);
file.delete();
file.deleteOnExit();
try {
file.createNewFile();
System.out.println("File created");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
create = false;
}
return create;
}
Code:
public void getBinaryFilledVectors() throws IOException {
fullValues.clear();
ReadWriteFile.deleteFile("vectors.txt");
ReadWriteFile.createNewFile("vectors.txt");
double numResults = Math.pow(2, MatrixManipulator.k);
for (int i = 0; i < numResults; i++) {
fullValues.add(new Integer(i));
Integer currentVal = fullValues.get(0);
String outString = Integer.toBinaryString(currentVal.intValue());
// we need to pad it with zeros
int padLength = MatrixManipulator.k - outString.length();
if (padLength > 0) {
for (int j = 0; j < padLength; j++) {
outString = "0" + outString;
}
}
fullValues.clear();
System.out.println(outString);
ReadWriteFile.appendString("vectors.txt", outString, true);
}// for (int i... ;
}