A
Adrian
Gast
Hallo,
ich hab mal wieder ein Problem und komm nicht weiter. Hab leider keine Ahnung wie ich das lösen soll, da es meine momentane
Programmierkenntnisse dieser Art übersteigt. Eine Suche blieb leider auch erfolglos.
Und zwar soll nach Klick auf Speichern eine Datei in einem vorgegebenen Verzeichnis (D:\DATEN) erstellt werden.
Der Dateinamen ist folgendermaßen zusammengesetzt: DATEN00.TXT Wobei "DATEN" immer im Dateinamen stehen soll und die 2 Zeichen "00" eine laufende Nummer darstellten. Die Nummer darf von "00" bis "99" laufen ("100" ist nicht mehr erlaubt).
Um die Problematik zu verdeutlichen möchte ich kurz einige Beispiele erläutern.
1.
Wenn eine Datei (DATEN00.TXT) als einzige im Verzeichnis liegt soll der nächste Dateinamen "DATEN01.TXT" vergebenwerden usw.
2.
Falls bspw. zwei oder mehr Dateien (DATEN00.TXT, DATEN01.TXT, DATEN03.TXT) bereits im Verzeichnis liegen, soll die nächste Datei mit DATEN02.TXT abgespeichert werden. Diese reihen sich sozusagen in die vorhandene Folge ein.
3.
Bei folgender vorhandener Konstellation im Verzeichnis: (DATEN02.TXT, DATEN4.TXT, DATEN06.TXT) soll folglich wieder bei DATEN00.TXT begonnen werden. Und mit DATEN01.TXT, DATEN03.TXT, DATEN05.TXT weitergemacht werden.
Welche Anpassungen am Code wären notwendig um das zu realisieren?
Ich hoffe ihr könnt mir helfen.
Vielen Dank!
Gruß
Adrian
P
ich hab mal wieder ein Problem und komm nicht weiter. Hab leider keine Ahnung wie ich das lösen soll, da es meine momentane
Programmierkenntnisse dieser Art übersteigt. Eine Suche blieb leider auch erfolglos.
Und zwar soll nach Klick auf Speichern eine Datei in einem vorgegebenen Verzeichnis (D:\DATEN) erstellt werden.
Der Dateinamen ist folgendermaßen zusammengesetzt: DATEN00.TXT Wobei "DATEN" immer im Dateinamen stehen soll und die 2 Zeichen "00" eine laufende Nummer darstellten. Die Nummer darf von "00" bis "99" laufen ("100" ist nicht mehr erlaubt).
Um die Problematik zu verdeutlichen möchte ich kurz einige Beispiele erläutern.
1.
Wenn eine Datei (DATEN00.TXT) als einzige im Verzeichnis liegt soll der nächste Dateinamen "DATEN01.TXT" vergebenwerden usw.
2.
Falls bspw. zwei oder mehr Dateien (DATEN00.TXT, DATEN01.TXT, DATEN03.TXT) bereits im Verzeichnis liegen, soll die nächste Datei mit DATEN02.TXT abgespeichert werden. Diese reihen sich sozusagen in die vorhandene Folge ein.
3.
Bei folgender vorhandener Konstellation im Verzeichnis: (DATEN02.TXT, DATEN4.TXT, DATEN06.TXT) soll folglich wieder bei DATEN00.TXT begonnen werden. Und mit DATEN01.TXT, DATEN03.TXT, DATEN05.TXT weitergemacht werden.
Welche Anpassungen am Code wären notwendig um das zu realisieren?
Ich hoffe ihr könnt mir helfen.
Vielen Dank!
Gruß
Adrian
Code:
if(e.getSource().equals(speichern))
{
System.out.println(" \"SPEICHERN\" geklickt.");
String directoy = ("D:\\DATEN\\");
File dir = new File(directoy);
if (dir.exists())
{
System.out.println(dir + " Verzeichnis existiert.");}
else
{
dir.mkdir();
System.out.println("Verzeichnis: " + dir + " erstellt.");
}
try {
String dateiname = (directoy+"DATEN00.TXT"); //00 Laufenden Nummer mit 2 Zeichen, bis 99 erlaubt
File datei = new File(dateiname);
boolean success = datei.createNewFile();
if (success) {
System.out.println(datei + " Datei existiert nicht.");
try{
if (datei.exists())
{
System.out.println(datei+ " Datei existiert.");}
else
{
System.out.println(datei + " Datei existiert nicht.");
}
FileOutputStream fout = new FileOutputStream(datei);
OutputStreamWriter osw = new OutputStreamWriter(fout, "UTF-8");
BufferedWriter out = new BufferedWriter(osw);
out.newLine();
out.write("----------------------------------");
out.newLine();
out.write("Daten");
out.newLine();
out.write("----------------------------------");
out.close();
System.out.println(datei + " erfolgreich gespeichert!");
}
catch (IOException e){
}
}
else {
System.out.println(datei+ " Datei existiert.");}
}
catch (IOException e) {
}
}