stolperhannes
Grünschnabel
Ich habe folgende Funktion, die M$Excel *.txt Dateien speichern soll:
Die Daten sind in einem zweidimensionalen Stringarray namens sheet gespeichert. Columns und Lines enthalten Die Anzahl Spalten bzw. Zeilen.
Wenn jetzt in der ersten Spalte eines Sheets nichts drinsteht ="" (Erstes Zeichen Tabulator), dann spinnt die Funktion .
Dann wird am Ende einer Zeile KEIN Zeilenendezeichen ausgegeben, sondern noch einmal eine komplette Zeile voller leerer Strings + Zeilenendezeichen.
Hat irgend einer eine Idee woran das liegen könnte?
Die Daten sind in einem zweidimensionalen Stringarray namens sheet gespeichert. Columns und Lines enthalten Die Anzahl Spalten bzw. Zeilen.
Code:
public void save()
{
int a;
try {
//--- Kopie erstellen
String n = FileName.toString().replace(".txt", ".bak");
//--- Datei erzeugen
BufferedWriter f = new BufferedWriter(
new FileWriter(n));
//--- Für jede Ziele
for(int i=0;i<Lines;i++){
//--- Für jede Spalte-1
for(a=0;a<Columns-1;a++)
{
//--- String mit Trennzeichen ausgeben bzw. nur Trennzeichen ausgeben = Tab
if (sheet[i][a]!=null)f.write(sheet[i][a]+ SEPARATOR);
else f.write(SEPARATOR);
}
//--- String mit Zeilenende ausgeben bzw. nur Zeilenende ausgeben = CR + LF
if (sheet[i][a]!=null)f.write(sheet[i][a]+ LINETERMINATOR);
else f.write(LINETERMINATOR);
}
//--- Datei schliessen
f.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Wenn jetzt in der ersten Spalte eines Sheets nichts drinsteht ="" (Erstes Zeichen Tabulator), dann spinnt die Funktion .
Dann wird am Ende einer Zeile KEIN Zeilenendezeichen ausgegeben, sondern noch einmal eine komplette Zeile voller leerer Strings + Zeilenendezeichen.
Hat irgend einer eine Idee woran das liegen könnte?