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.
Input/OutputText Dateien einlesen, bearbeiten und speichern
Ich habe eine Text-Datei mit m-Zeilen und n-Spalten, also wie eine Tabelle aufgebaut. Die Spalten werden durch Leerzeichen getrennt. Hier als Beispiel ein kleiner Auszug aus solch einer Datei:
Beispiel: 4 Zeilen und 11 Spalten
HETATM 1 N LIG 1 2.824 -0.042 0.738 1.00 0.00 N
HETATM 2 C LIG 1 3.563 -1.141 0.333 1.00 0.00 C
HETATM 3 O LIG 1 4.781 -1.166 0.347 1.00 0.00 O
HETATM 4 N LIG 1 2.850 -2.279 -0.120 1.00 0.00 N
Nun möchte ich ein Java Programm schreiben, welches solch eine Text-Datei einliest und "elementare Zeilen- und Spaltenoperationen" durchführt und dies danach in eine neue Text-Datei schreibt.
Zum Beispiel ein Programm, welches die 3. Spalte mit der 1. Spalte vertausch und die 6., 7. und 8. Spalte mit der 2., neuen 3. und 4. vertauscht und die restlichen Spalten löscht. In dem Beispiel würde das bedeuten:
N 2.824 -0.042 0.738
C 3.563 -1.141 0.333
O 4.781 -1.166 0.347
N 2.850 -2.279 -0.120
man macht es einen Schritt nach dem anderen,
wenn du von Java all die Standard-Befehle, etwa eine Datei in ein String einlesen, einen String in eine Datei speichern,
einen String in der Mitte durchschneiden usw. nicht kennst,
dann kann man dazu auch nicht viel sagen, alle 400 benötigten Code-Zeilen aufzuzählen wäre etwas mühsam
lies ein Lehrbuch von Anfang bis Ende bzw. schaue im Index nach String- und Dateimethoden, alles leicht zu finden
Zeilenoperationen sind kein Problem.
Du kannst das ganze mit einem [JAPI]BufferedReader [/JAPI]einlesen und in einer [JAPI]List[/JAPI] speichern.
Dann hast du jede Zeile in der richtigen Ordnung in dieser Liste und kannst an der Veränderungen durchführen.
Bei Spaltenoperationen musst du die Strings vorher splitten und die eventuell ebenfalls in einer Liste Speichern.
Danke für die zügigen Antworten. Ich bin noch blutige Anfängerin, lerne aber fleissig (bin bei Seite 78 ) mit dem Buch von Dietmar Ratz - Grundkurs Programmieren in Java: Band 1. Ich kenne bis jetzt nur die IOTools um Eingaben zu machen. Nun habe ich ein paar Begriffe bekommen nach denen ich recherchieren kann. Java lernen muss ich aus beruflichen gründen.
Zeilenoperationen will ich erst später machen. Jetzt will ich erst einmal lernen wie man Spalten vertauscht. Später sollen auch Zeilen getauscht werden.
Dazu eine neue Frage:
Gibt es in Java eine Klasse oder etwas das man importieren kann, welche Variablen direkt als Matrix betrachtet? Könnte man dann nicht die ganze Datei direkt als Matrix einlesen und bearbeiten mit Befehlen, die gezielt Spalten tauschen etc.?
standardmäßig gibt's keine Matrix-Klasse. Du kannst aber wie oben schon genannt die Datei Zeilenweise in eine Liste (die Array-Objekte hält) bzw ein 2-Dimensionales-Array einlesen. Letzteres jedoch nur, wenn Zeilenanzahl der Datei bekannt.
Dann kannst du auf der Liste/dem Array die ganzen Vertauschungen durchführen.
Gibt es in Java eine Klasse oder etwas das man importieren kann, welche Variablen direkt als Matrix betrachtet? Könnte man dann nicht die ganze Datei direkt als Matrix einlesen und bearbeiten mit Befehlen, die gezielt Spalten tauschen etc.?
Okay, danke euch für die Hilfe. Ich werde mein Buch weiter lesen und nach den neuen Begriffen, die hier genannt wurden, recherchieren und melde mich dann zu diesen, oder meinem Problem wieder.
Liebe Grüsse
Lara
p.s.
@AquaBall
Das möchte ich auch gar nicht. Ich muss es doch selbst lernen, sonst killt mich meine Chefin vermutlich, doch ich bin wie gesagt erst ganz kurz dabei, also learning by doing