Textdatei auf erste Zeichenkette Prüfen...

Phil1

Mitglied
... viel besser kann ich mein Problem momentan nicht beschreiben, dazu aber gleich mehr ...

Vorher wollte ich noch um eure Rücksicht bitten, denn genauso jungfräulich wie mein Beitragszähler, bin auch ich in Sachen JavaProgrammierung. Ich habe mir die Video2Brain DVD - Java 6 von Helge Maus gekauft und gehofft mir so die Basics von Java aneignen zu können. :oops:
Das Geld wäre in ein Buch definitiv besser investiert gewesen bzw. ich nehme gerne Buchvorschläge entgegen ( dachte an "Sprechen Sie Java?" ).

Ich versuche mal zu beschreiben was mein Problem- oder Vorhaben ist und ob die "Denkweise" für euch Profis überhaupt (ansatzweise) nachvollziehbar ist:

Ich möchte gerne eine Methode erstellen, die folgende zwei TextBeispiele einliest und in ein Array (oder lieber Vector?) abspeichert. Mit den Zahlen am Anfang wollte ich später den jeweiligen Satzanfang identifizieren und mit entsprechend passenden SatzEnden kombinieren. Hier mal die Beispiele, möglich das meine Erklärung verwirrt :autsch:

SatzAnfang.txt

1 Du denkst
2 Dein Hund
3 Meine Freundin
4 Peter Lustig

... wird kombiniert mit ....

SatzEnde.txt
1 sehr schnell.
1 sehr langsam.
2,3,4 ist hüpsch.
2,4 ist lustig.

Das Ergebnis sollen später sinnvolle Satzgefüge werden, wie z.B.:

"Du denkst sehr schnell." oder aber "Du denkst sehr langsam."
"Dein Hund ist lustig." oder "Peter Lustig ist lustig."

Die jeweiligen txt's liegen im Build Ordner ( Benutze NetBeansIDE ) und einlesen kann ich dank Helge Maus auch:

Java:
        try {
            File datei = new File("SatzAnfang.txt");
            Scanner eingabe = new Scanner( datei );

            // Hier müsste ich erstmal den Inhalt der Textdatei, strukturiert in ein Array bekommen, oder ?
   

        } catch (Exception e) {
            System.out.println("Error: " + e );
        }

Das Nachbasteln der Inhalte von meiner DVD war kein Problem, der Transfer des gelernten macht mir allerdings mehr zu schaffen als ich dachte... :(

Ist das überhaupt ein Sinvoller Weg so eine AnfängerAufgabe zu lösen?
Wie bekomm ich den Inhalt der Textfile sinnvoll ausgelesen?
Hoffe ihr könnt mir ein wenig zur Seite stehen.

Vielen Dank
 

VfL_Freak

Top Contributor
Moin,

für den Anfang mal so etwas:

Java:
File datei = new File( "SatzAnfang.txt" );
Scanner eingabe = new Scanner( datei );
vector<String> myVector = new vector<String>;

while ( scanner.hasNextLine() ) 
{
      System.out.println( scanner.nextLine() ); 

      String sZeile = scanner.nextLine();
      // jetzt kannst Du hier diesen String zu einem StringArray, Vector<String> etc. hinzufügen
      myVector.add( sZeile );
}


Bücher bspw.:
Galileo Computing :: Java ist auch eine Insel (8. Auflage)
Java(TM) Programmierhandbuch und Referenz

Gruß1
Klaus
 

Phil1

Mitglied
Vielen Dank ihr beiden!

Also brauch ich ( um das mal in Helges Worten zu formulieren ) einen Schrank mit verschiedenen Schubladen. In jede Schublade steck ich schonmal einen SatzAnfang und anschließend noch verschiedene SatzEnden. - das erledige ich mit Vectoren, richtig?

Ich habe dein CodeBeispiel angeschaut und angepasst, VfL_Freak - soweit auch verstanden was es bezwecken soll:
Jede Zeile bzw. jeder SatzAnfang wird abgearbeitet und in eine eigene Schublade gesteckt, soweit genau das was ich wollte.

Leider funktioniert der System.Out in der While-Schleife nicht, hier mal der aktuelle Code:

Java:
        try {
            File datei = new File("SatzAnfang.txt");
            Scanner eingabe = new Scanner( datei );
            Vector myVector = new Vector();
           
            while ( eingabe.hasNextLine() )
            {
                String sZeile = eingabe.nextLine();
                System.out.println("Zeilen Inhalt: " + sZeile);
                myVector.add( sZeile );
            }

        } catch (Exception e) {
            System.out.println("Error: " + e );
        }

Die vorgeschlagenen Nachschlagewerke sind super (besonders das OpenBook von Galileo hats mir angetan :rtfm:)

Vielen Dank!
 

Phil1

Mitglied
Hi VfL_Freak,

der Code (von oben) lässt sich compilieren und ich bekomme in meinem Ausgabefenster von NetBeans angezeigt:
run:
BUILD SUCCESSFUL (total time: 0 seconds)


Es scheint wohl ein Problem mit der Bedingung der While-Schleife zu sein, hab mal Versucht zwei Breakpoints, jeweils davor und dannach, einzufügen und bekomme folgendes Ergebnis:
run:
Breakpoint1
Breakpoint2
BUILD SUCCESSFUL (total time: 0 seconds)


in Java sieht das ganze dementsprechend so aus:
Java:
            System.out.println("Breakpoint1" );
            while ( eingabe.hasNextLine() )
            {
                String sZeile = eingabe.nextLine();
                System.out.println("Zeilen Inhalt: " + sZeile);
                myVector.add( sZeile );
            }
             System.out.println("Breakpoint2" );
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Java:
        try {
            File datei = new File("SatzAnfang.txt");
            Scanner eingabe = new Scanner( datei );
            Vector myVector = new Vector();
           
            while ( eingabe.hasNextLine() )
            {
                String sZeile = eingabe.nextLine();
                System.out.println("Zeilen Inhalt: " + sZeile);
                myVector.add( sZeile );
            }

        } catch (Exception e) {
            System.out.println("Error: " + e );
        }

hmm, dann schau Dir mal mit 'nem Debugger die Werte von "datei" und "eingabe" an!
Eventuell kann ja auch die Datei gar nicht gelesen werden!

Liegt sie denn im gleichen Pfad?
Gib' eventuell mal den absoluten Dateipfad an :
Java:
File datei = new File( "C:\MyDir\MySubDir\SatzAnfang.txt");

Gruß
Klaus
 

Phil1

Mitglied
Huhu und vielen Dank für euer kontinuierliche Hilfe!
Ich wollte gestern einen DoppelPost vermeiden, bin aber schon ein wenig weiter im Code.
Nun gehts aber langsam ans eingemachte, also erstmal folgendes hab ich vor:

SatzAnfang.txt wird eingelesen und Zeile für Zeile in einem Vector gespeichert.
SatzEnde.txt wird eingelesen und es wird geprüft welche Zahl(en) in der jeweiligen Zeile steht, also mit welchem SatzAnfang das SatzEnde kombinierbar ist.
Nun würde ich gerne das SatzEnde an meine bereits erstellte Vektortabelle anhängen, und zwar genau in die Schubladen, die am Ende einen Sinn ergeben.

Codetechnisch sieht das ganze mittlerweile so aus:
(Die Schleife zwischen Zeile 32-48 ist die aktuelle "Baustelle")
Java:
import java.io.*;
import java.util.Enumeration;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

   public static void main(String[] args) {

	try {
	// Hole den SatzAnfang
                BufferedReader in = new BufferedReader(new FileReader("SatzAnfang.txt"));
		String anfang = null;
                Vector myVector = new Vector();

		while ((anfang = in.readLine()) != null) {
			//System.out.println("Gelesene Zeile: " + anfang);
                        myVector.addElement( anfang );
                    //  System.out.println("In Vector geschrieben");
		}

         // Vector ausgeben (bzw. die Sortierte Ausgabe
                System.out.println("SatzAnfang:");
                for (Enumeration el=myVector.elements(); el.hasMoreElements(); ) {
                System.out.println((String)el.nextElement());
                 }

         // Hole das SatzEnde
                BufferedReader inp = new BufferedReader(new FileReader("SatzEnde.txt"));
                String ende = null;
		while ((ende = inp.readLine()) != null) {
		
                String input = ende;

         // Filtern der Zahl(en) am Anfang
                Pattern pat2 = Pattern.compile("(\\d+)");
                Matcher mat2 = pat2.matcher(input);
                int t = 0;
                while(mat2.find())
                {
                   String Zahl = mat2.group(0);
                   t = Integer.parseInt (Zahl);
                   System.out.println("Satzende: " + ende + " passt zu SatzAnfang: " + t);
                  // Nun möchte ich die Satzenden an die jeweiligen Satzanfänge anhängen!
                   myVector.add(t, ende);
                }
                }
               
                System.out.println ("Element:" + myVector.elementAt (0));

              
        }
        catch (IOException e) {
	}
    }
}

Hoffe mein Problem ist verständlich: Wie kann ich einen String an eine bestimmte Vektorspalte anhängen, also SatzAnfang sei z.B.:
Mein Hund ist.... (wird in Vektor[0] gespeichert)
und nun möchte ich nachträglich an den Vektor[0] mein SatzEnde anhängen, also quasi:
"hänge ans Ende von Vektor[0] folgendes SatzEnde:
...faul und gemütlich.

Sprich wenn ich dann zum Schluss die Vektoren ausgebe, wird im Vektor[0] stehen:
Mein Hund ist faul und gemütlich.

Gruß & verzweifelte Grüße :bahnhof:
 

JensArpe

Mitglied
Mache in den ersten Vektor nicht einfach nur die Satzanfänge. Sondern mach dir eine neue Klasse SatzAnfang die etwa so aussieht:

Java:
public class SatzAnfang {
     private String anfang;
     private Vector enden;

     ....

}

Die Satzenden fügst du dann in die "enden-Liste" ein. ODer du machst nur Verweise auf die Stelle im Vector rein.

btw.

SatzEnde.txt
1 sehr schnell.
1 sehr langsam.
2,3,4 ist hüpsch.
2,4 ist lustig.

hübsch mit b nicht mit p :lol:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
izoards Textdatei Human unreadable abspeichern Java Basics - Anfänger-Themen 17
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
S Importieren einer Textdatei Java Basics - Anfänger-Themen 2
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
Jinnai4 Werte in Textdatei ändern Java Basics - Anfänger-Themen 2
JDimi Textdatei mit beliebig vielen Zeilenumbrüchen erstellen Java Basics - Anfänger-Themen 2
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G Wert in Textdatei ersetzen? Java Basics - Anfänger-Themen 2
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
T Länge einer Textdatei Java Basics - Anfänger-Themen 11
S Übertragen einer Textdatei in ein 2d-Array Java Basics - Anfänger-Themen 2
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
T Textdatei öffnen und ans Ende scrollen Java Basics - Anfänger-Themen 11
J Textdatei filtern und bearbeiten Java Basics - Anfänger-Themen 1
C Textdatei oder doch eine Datenban Java Basics - Anfänger-Themen 15
J Input/Output Tilemap effizient speichern als Textdatei Java Basics - Anfänger-Themen 7
J Input/Output Zeile in Textdatei ändern Java Basics - Anfänger-Themen 14
M Textdatei(en) in .jar schreiben Java Basics - Anfänger-Themen 5
K Textdatei auslesen Java Basics - Anfänger-Themen 10
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
K Erste Schritte Textdatei -> Array Java Basics - Anfänger-Themen 1
F Textdatei einlesen in ArryList (Objekte abspeichern?) Java Basics - Anfänger-Themen 4
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
G Erste Schritte Textdatei einlesen und in Array speichern Java Basics - Anfänger-Themen 5
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
L Namen aus Textdatei auslesen Java Basics - Anfänger-Themen 1
E Textdatei kopieren funktioniert nicht Java Basics - Anfänger-Themen 12
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
S Methoden Textdatei auslesen Java Basics - Anfänger-Themen 11
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
T Textdatei Zeile löschen? Java Basics - Anfänger-Themen 4
T Textdatei beschreiben/bearbeiten Java Basics - Anfänger-Themen 4
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
C Einlesen in Array von Textdatei sehr langsam Java Basics - Anfänger-Themen 7
R Werte in eine Textdatei schreiben Java Basics - Anfänger-Themen 20
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
T Scanner für große Textdatei Java Basics - Anfänger-Themen 11
A Unterschied Textdatei und Quelltextdatei Java Basics - Anfänger-Themen 5
P Input/Output Textdatei einlesen - 1. Zeichen fehlt Java Basics - Anfänger-Themen 7
J Input/Output Textdatei in einer JAR lesen Java Basics - Anfänger-Themen 3
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
S Textdatei im Internet lesen und editieren Java Basics - Anfänger-Themen 2
J Textdatei einlesen und ausgeben - NullPointerException Java Basics - Anfänger-Themen 5
M Input/Output Objekte in einer Textdatei ablegen (Highscore) Java Basics - Anfänger-Themen 9
P CSV Daten in Textdatei Speichern Java Basics - Anfänger-Themen 3
K Input/Output Eingelesenedaten von Scanner als Textdatei ausgeben? Java Basics - Anfänger-Themen 2
N Input/Output Konsolenausgabe in Textdatei speichern/umleiten Java Basics - Anfänger-Themen 7
V Auf Textdatei in jar zugreifen Java Basics - Anfänger-Themen 3
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
S Methoden Textdatei Teil String auslesen Java Basics - Anfänger-Themen 3
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
M Datum aus einer Textdatei holen Java Basics - Anfänger-Themen 9
C Spalte einer Textdatei einlesen Java Basics - Anfänger-Themen 10
Fab1 Input/Output Textdatei auslesen Java Basics - Anfänger-Themen 4
O grosse Textdatei performant als string speichern Java Basics - Anfänger-Themen 8
P Mit offset aus Textdatei auslesen Java Basics - Anfänger-Themen 3
C Textdatei einlesen Java Basics - Anfänger-Themen 8
V Falsches Auslesen von Textdatei Java Basics - Anfänger-Themen 3
T Input/Output 20Mb Textdatei zeilenweise auslesen Java Basics - Anfänger-Themen 10
N Textdatei lesen mit Umlauten Java Basics - Anfänger-Themen 16
N In Textdatei speichern und auslesen Java Basics - Anfänger-Themen 18
M Textdatei einlesen Java Basics - Anfänger-Themen 3
M Liste in Textdatei schreiben Java Basics - Anfänger-Themen 7
B Input/Output Textdatei einlesen Windows / Linux Java Basics - Anfänger-Themen 2
F Textdatei einlesen Java Basics - Anfänger-Themen 7
C Textdatei einlesen -> Probleme Java Basics - Anfänger-Themen 3
K Input/Output Textdatei scheibchenweise auslesen Java Basics - Anfänger-Themen 8
S Textdatei stückweise einlesen Java Basics - Anfänger-Themen 7
D 1 Wort aus TextDatei auslesen Java Basics - Anfänger-Themen 3
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N Textdatei wird beim Speichern nicht überschrieben, sondern ergänzt Java Basics - Anfänger-Themen 4
A Double Array in TextDatei schreiben Java Basics - Anfänger-Themen 9
K Richtige Pfadangabe einer Textdatei Java Basics - Anfänger-Themen 7
B OOP Aus Textdatei auslesen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben