Hallo Java-Profis,
ich habe für meinen kleinen Bruder ein "Bankomatprogramm" entwickelt. Dieses speichert den Geldbetrag in form von Textdateien auf eine 3,5" Diskette.
Z.B.: Besitzt man 10€ so befinden sich auf der Diskette 10 Textdateien.
Um noch die von ihm gewünschten Geräusche zu erzeugen schreibe ich in jede Datei 1000 €-Zeichen.
Zusätzlich befindet sich noch eine kleine xml-Datei auf dem Datenträger, die Eigentümer, Passwort, etc. speichert.
Nun habe ich das Problem, dass ich auf eine Diskette maximal 222 Dateien (ohne conf.xml) schreiben kann. Jedoch sollten mit FAT12 ungefähr 4000 möglich sein. Bei einer Größe von ~1KB natürlich nur um die 1400. Die Diskette wurde mit einer Zuordnungseinheitgröße von 512 Byte formatiert.
Nun meine Frage:
Warum kann ich exakt 223 (Geld+conf.cml) Dateien schreiben? Ist dies eine Limitierung des Dateisystems?
Danke für eure Hilfe!
Anbei noch der Java-Code, der die Dateien erzeugt:
ich habe für meinen kleinen Bruder ein "Bankomatprogramm" entwickelt. Dieses speichert den Geldbetrag in form von Textdateien auf eine 3,5" Diskette.
Z.B.: Besitzt man 10€ so befinden sich auf der Diskette 10 Textdateien.
Um noch die von ihm gewünschten Geräusche zu erzeugen schreibe ich in jede Datei 1000 €-Zeichen.
Zusätzlich befindet sich noch eine kleine xml-Datei auf dem Datenträger, die Eigentümer, Passwort, etc. speichert.
Nun habe ich das Problem, dass ich auf eine Diskette maximal 222 Dateien (ohne conf.xml) schreiben kann. Jedoch sollten mit FAT12 ungefähr 4000 möglich sein. Bei einer Größe von ~1KB natürlich nur um die 1400. Die Diskette wurde mit einer Zuordnungseinheitgröße von 512 Byte formatiert.
Nun meine Frage:
Warum kann ich exakt 223 (Geld+conf.cml) Dateien schreiben? Ist dies eine Limitierung des Dateisystems?
Danke für eure Hilfe!
Anbei noch der Java-Code, der die Dateien erzeugt:
Java:
public void add(int amount) throws IOException {
int i = this.amount + 1;
while (i <= this.amount + amount) {
File add = new File(disc.getPath() + "\\" + i + ".txt");
add.createNewFile();
writeContent(add);
i++;
setChanged();
notifyObservers();
}
this.amount += amount;
}
private void writeContent(File f) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
for (int i = 0; i < 100; i++) {
writer.write("€€€€€€€€€€");
}
writer.close();
}