Java:
package datareading;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URISyntaxException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DataReading {
Scanner s;
FileWriter out;
File f;
String st = "";
public DataReading() throws FileNotFoundException, IOException{
try {
f = new File(this.getClass().getResource("reader.txt").toURI());
s = new Scanner(f);
} catch (URISyntaxException ex) {
Logger.getLogger(DataReading.class.getName()).log(Level.SEVERE, null, ex);
}
while(s.hasNext()){
System.out.println("(" + s.nextInt() + " " + s.nextInt() + " " + s.nextInt() + ")");
}
s.reset();
out = new FileWriter(f);
while(s.hasNext()){
st = st + "\n" + s.nextLine();
}
out.write(st + " \n" + " 0 0 0");
out.close();
}
public static void main(String[] args) throws FileNotFoundException, IOException {
new DataReading();
}
}
Hey,
Ich beginne gerade mich mit Dateien und ihrer Auslesung zu befassen. Ich möchte mir später eine kleine Datei anlegen, die Vektoren (In Form von 3 doubles) speichern kann. Damit - und etwas mit Mathe - möchte ich versuchen eine kleine KI zu programmieren.
Bei dieser Datei läuft etwas aber nicht ganz korrekt ab. Ich habe neben der Klasse mir einen Textdatei(reader.txt) erstellt. Diese besitzt pro Zeile 3 Integers.
Nun möchte ich später intelligent Code hinzufügen. Da ich nicht weiß, wie man einzelne Zeilen beschreiben kann und dazu auch nichts fand, wollte ich zunächst den ganzen Text auslesen und dann mit zusätzlichen Text wieder einschreiben.
Nun mein Problem: Der Code soll eigentlich den ursprünglichen Text und eine neue Zeile mit Text " 0 0 2" hinzufügen.
Bei einem 2. Ausführen des Programm liest der Scanner jedoch nur 0 0 2 aus.
Ein anderes Programm wie der "Editor" zeigt aber danach den gesamten ursprünglichen Text an, nicht aber "0 0 2".
WTF WARUM ????
Kann mir jemand mächtigere Klassen (oder Bibliotheken nennen) die mir das Beschreiben einzelner Zeilen und speichern vereinfachen, sowie Auslesungen (in jeweiligen Zeilen) ermöglichen?
Ich stelle mir sowas vor:
getString(int zeile)
getInt(int zeile)
getInt(int nter_char)
Wie kann ich mir Dateien erstellen, die Matrizen enthalten und ich nur den jeweiligen Vektor (1. , 2. , 3., ..., n.) auslesen muss?
Danke für die Hilfe !!!
EDIT: Mir ist gerade in der Beschreibung der Zeilen ein Fehler aufgefallen. Es war allerdings nicht ausschlaggebend. Das Problem besteht weiterhin!
Zuletzt bearbeitet: