Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ausgabe mit BufferedWriter exakt untereinander anordnen
ich schreibe mit Hilfe eines BufferdWriters bw Strings aus einem String[][] array in eine Datei ziel.txt, z.B.
bw.write(array[l][0] + "=" + array[l][1] + "\t\t" + array[l][3] +"\n");
Jetzt möchte ich, dass in ziel.txt die Einträge aus der dritten Spalte exakt untereinander stehen. Da aber die Einträge in Spalte 0 und Spalte 1 unterschiedliche Längen haben, kann es sein, dass array[l][3] um einen Tab nach rechts oder links verschoben wird.
Wie könnte ich das am geschicktesten lösen?
Habe schon daran gedacht, eine Länge (z.B. 40) festzulegen.
Dann ziehe ich von diesen 40 die Längen der Einträge in Spalte 0 und 1 ab.
Anschließend erzeuge ich einen String s mit dieser Restlänge, bestehend nur aus Leerzeichen.
Und bw.write würde dann so aussehen:
bw.write(array[l][0] + "=" + array[l][1] + s + array[l][3] +"\n");
Aber das finde ich sehr umständlich, und ist es dann nicht so, dass - je nach dem mit welchem Programm ich mein ziel.txt öffne - die Breite einzelner Zeichen unterschiedlich ist. Also dass z.B. ein " " schmaler als ein "o" ist. Und somit würde meine dritte Spalte wieder nicht schön untereinaner angeordnet.
speichere deine Datei in einem bestimmten Format (z. B. html oder pdf) ab, dann kannst du auch davon ausgehen, dass es so angezeigt wird, wie du es gerne hättest. Ansosnten ist das nicht möglich.
Die Frage, ob die Zeichen die gleiche Breite haben, hängt davon ab, welche Schriftart in dem Programm verwendet wird. ("Monospaced" wie etwa "Courier New" oder mit "variabler Breite", wie bei TimesNewRoman oder so...)
Diese exakte Ausrichtung untereinander ist eigentlich nur mit TABs möglich, aber selbst DIE können ja bei dem Programm, das die Datei öffnet, beliebig eingestellt sein. Vermutlich(!) wäre das, was du da mit dem "Leerzeichen-String" gemacht hast, noch am sinnvollsten. Evtl. kann man das aber auch einfacher erreichen - kannst dir mal die Methode "format" in der Klasse "String" ansehen...
hatte mit Google einfach nach der API gesucht und die erste genommen ohne genauer nachzusehen, ob das auch die passende ist. Auf die Idee, dass es u.U. entscheidende Unterschiede gibt, wäre ich nicht gekommen.
Naja ohne entscheidende Unterscheidungen wären verschiedene Version irgendwie sinnlos, oder?! ;-)
Aba guckst du für solche Fälle steht die API (die ich verwende ) in meinen Favoriten
Und naja. Man kann ja au erst ma kurz in der IDE nachschaun, ob sowas wie String.f... gibt
So genug fertig gemacht ^^ Sonst alles klar mit dem formatter? Also ich find den verwirrend, aba hab en mir au noch ned soo genau angeschaut ^^ Naja. Viel Spaß damit. Jetzt wird mittag gemacht :-D
fertig machen kannst mich nimma, das hat mein Programm schon erledigt ;-)
den formater find ich auch verwirrend; ich hab das jetzt erstmal beiseite gestellt. Muss am Freitag mein Programm abgeben und märze bis dahin noch Schönheitsfehler aus. Wenn noch Zeit bleibt, befasse ich mich noch mal mit format():