Wörter aus einer txt datei lesen

chillerStudent

Bekanntes Mitglied
Hallo,

ich weiß, wie ich Zeilen aus einer datei lese. Nun möchte ich Wörter aus den einzelnen Zeilen lesen, damit ich bei der Ausgaben etwas dazwischen schreiben kann.

zum Beispiel steht in einer txt datei zahlen, strings und chars mit leerzeichen:

1 2 wasserball - internet

jetzt will ich die einzelnen zeichen lesen und ein komma dazwischen schreiben.

hier mein code nur zum lesen der zeilen:

Java:
		try {
			BufferedReader in = new BufferedReader(new FileReader("MyFile.txt");
			String zeile;
			while((zeile=in.readLine()) != null) 
				System.out.println(zeile);
			}
		} catch (Exception e) {
			//Fehler!!
		}
 

Fab1

Top Contributor
du willst nach jedem Zeichen ein Komma machen also so?

Code:
1, ,2, ,w,a,s,s,e,r,b,a,l,l, ,-, ,i,n,t,e,r,n,e,t,

Und lass bitte den Exception Block nicht leer und ich würde auch nicht gleich auf alle reagieren sondern das etwas spezifizieren.
 

chillerStudent

Bekanntes Mitglied
du willst nach jedem Zeichen ein Komma machen also so?

Code:
1, ,2, ,w,a,s,s,e,r,b,a,l,l, ,-, ,i,n,t,e,r,n,e,t,

ungefähr. Nur es sollen nicht zwei kommas zwischen zwei zeichen stehen.
Edit zum ersten Beitrag: Ich muss auch zeichen ersetzen können.

Und lass bitte den Exception Block nicht leer und ich würde auch nicht gleich auf alle reagieren sondern das etwas spezifizieren.

ok.:)
 

Fab1

Top Contributor
Nur es sollen nicht zwei kommas zwischen zwei zeichen stehen.
Das tritt wegen den Leerzeichen auf, diese kann man ja davor entfernen.

So in etwa? Warum brauchst du das eigentlich?

Java:
public class Test {

	public static void main(String[] args) {
		String neu = "";
		String s = "1 2 wasserball - internet";
		char[] f = s.replaceAll(" +", "").toCharArray();	
		for (char a : f) {
			neu = neu + a + ",";
		}
		System.out.println(neu);

	}
}
 

chillerStudent

Bekanntes Mitglied
du willst nach jedem Zeichen ein Komma machen also so?

Code:
1, ,2, ,w,a,s,s,e,r,b,a,l,l, ,-, ,i,n,t,e,r,n,e,t,

ahh nein, habe nicht richtig hingeguckt:autsch: Es soll immer nach jedem wort ein komma geschrieben werden.
also: 1,2,wasserball,-,internet

man man... sry

ich glaube man muss jeden einzelnen String ansprechen. Wie geht das?
 

timbeau

Gesperrter Benutzer
Nicht so super easy aber gibt den BreakIterator (BreakIterator (Java 2 Platform SE v1.4.2))

Beispiel glaube ich aus der Insel:

Java:
import java.text.BreakIterator;
import java.util.Locale;

public class BreakIteratorTest
{
  static void out( String s, BreakIterator iter )
  {
    int last = iter.first();
    int next = iter.next();    // erstes Wort einlesen.

    for ( ; next != BreakIterator.DONE; next = iter.next() )
    {
      System.out.println( s.subSequence( last, next ) );
      last = next;
    }
  }

  public static void main( String args[] )
  {
    String helmutKohl = "Ich weiß, dass ich 1945 fünfzehn war und 1953 achtzehn.";

    BreakIterator iterator = BreakIterator.getWordInstance();
    iterator.setText( helmutKohl );
    out( helmutKohl, iterator );

    helmutKohl = "Das deutsche Volk hat nun mal beschlossen, weniger Kinder zu zeugen. "+
    "Das ist eine Sache, die wir nicht einmal den Sozialdemokraten anhängen können.";

    iterator = BreakIterator.getSentenceInstance( Locale.GERMAN );
    iterator.setText( helmutKohl );
    out( helmutKohl, iterator );
  }
}
 

timbeau

Gesperrter Benutzer
Satzzeichen nach Worten wie Kommas werden nicht separiert, genausowenig wie Bindestriche. Dioe packt aber auch der Breakiterator nicht.
 
V

vanny

Gast
dein Problem ist noch leicht schwammig.
Wenn zBsp.
"... Zahn-
stocher...."
Im Text steht also Fließtext, wirds schwierig.

Hast du vielleicht immer dieses Schema "Zahl Zahl Wort - Wort" ?
Willst du die Trennzeichen, also dein Minus("-") auch separieren oder nur rausfiltern?
uswusf....

Du musst dir schon genau überlegen, was du alles beachten musst und wie es zerlegt werden soll.
Dann einfach Schritt für Schritt realisieren, aus der Retorte wirds das wahrscheinlich nicht geben.

Gruß Vanny
 

chillerStudent

Bekanntes Mitglied
was spricht nochmal gegen
Code:
String#replace(" ", ",")
?

Also ich muss jeden einzelnen String der Zeile ansprechen können, damit ich bestimmte zeichen ersetzen kann oder hinzufügen kann.

Als ausgabe soll z.b. raus kommen:
Code:
 1,2,wasserball bis : internet

Den doppelpunkt muss ich auch irgendwie da rein bekommen.
deswegen frage ich hier wie ich die einzelne string ansprechen kann.

BreakIterator darf ich nicht benutzen, kenn ich auch nicht.
 

HimBromBeere

Top Contributor
Java:
String[] str = line.split(" ")

Sowas evtl.?

EDIT: Vorher machst du vlcht. noch einen
Code:
replace(" - ", "-")
und nach dem Split nochmal einen
Code:
replace("-", " : ")
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Ich weiß zwar nicht, wie due diese Ausgabe erzeugt hast, aber ich hoffe mal, du weißt schon ob des Einsatzes under der Syntax von Arrays.

mit String[] str = zeile.split(" ") splittest du die Zeile an allen Leerzeichen. Für jeden Teilstring wird ein Feld im Array belegt und zum Schluss hast du ein Feld mit Teilstring (ohne die Leerzeichen), die du in einer Schleife durchlaufen kannst...

Im Übrigen macht split mit s gar nichts, es wird ein neues String-Array zurückgegeben...
 

timbeau

Gesperrter Benutzer
Also ich muss jeden einzelnen String der Zeile ansprechen können, damit ich bestimmte zeichen ersetzen kann oder hinzufügen kann.

Als ausgabe soll z.b. raus kommen:
Code:
 1,2,wasserball bis : internet

Den doppelpunkt muss ich auch irgendwie da rein bekommen.
deswegen frage ich hier wie ich die einzelne string ansprechen kann.

BreakIterator darf ich nicht benutzen, kenn ich auch nicht.

DU musst dir mal ein bisschen über deine Aussagen Gedanken machen.

Was ist ein "einzelner String" für dich? Das ist nicht klar! Ist bei dem OriginalString "Internet-Auktion" Internet, - und Auktion jeweils ein einzelner String oder nicht? Oder bei einem Komma? Oder oder oder.

Ein Split nach Leerzeichen bringt logischerweise bei sowas wie "ich dachte, dass..." nichts.
 

chillerStudent

Bekanntes Mitglied
Java:
//main
Scanner MyFile = openFile(args[0]);
Scanner line = new Scanner(MyFile.nextLine());

static Scanner openFile(String file) throws FileNotFoundException{
 return new Scanner(new FileInputStream(file));
}

static MyMethod(Scanner s) {
 int a = s.nextInt();
 int b= s.nextInt();
}

Er wirft mir bei der variable b in MyMethod ein InputMismatchException. Warum?
In meiner datei MyFile steht: 1 - 2
 

HimBromBeere

Top Contributor
Also erstens: die Methide MyMethod wird nie aufgerufen.
Zweitens: was sollen diese vielen Scanner... da verliert man ja völlig den Überblick. Schreib doch einfach:
Java:
Scanner MyFile = new Scanner(new FileInputStream(file));
String line = MyFile.nextLine();

EDIT: Dass dir bei b eine Exception geworfen wird, liegt wohl daran, dass das nächste Zeichen hinter dem ersten Int ein char ist ('-') (was mit den Leerzeichen dazwischen passiert, weiß ich grade nicht...). Was wurde denn aus dem String#Split-Vorschlag?
 
Zuletzt bearbeitet:

Kiri

Bekanntes Mitglied
Java:
int b= s.nextInt();

wirft eine InputMismatchException, wenn das nächste Zeichen kein Integer ist. In diesem Fall ist das nächste Zeichen ein '-', definitive kein Integer.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Anzahl von Wörter in einer eingelesenen Datei Java Basics - Anfänger-Themen 10
G Häufigkeit der Wörter einer Webseite zählen Java Basics - Anfänger-Themen 7
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
CptK Variablen Wörter erschließen Java Basics - Anfänger-Themen 7
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
A Wie am effizientesten bzw. schnellsten Namen/Wörter sortieren? Java Basics - Anfänger-Themen 1
I String teilen und zwei Wörter generieren Java Basics - Anfänger-Themen 1
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
T Eingegebene Wörter ausgeben? Java Basics - Anfänger-Themen 3
T Wörter mit @ als Zeichen finden Java Basics - Anfänger-Themen 13
J Alle Wörter der Länge n mit 0 und 1 Java Basics - Anfänger-Themen 17
G wörter speichern Java Basics - Anfänger-Themen 12
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
C String Arrays - häufigste Wörter Java Basics - Anfänger-Themen 10
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
K Anzahl Wörter in Zeile Java Basics - Anfänger-Themen 24
F wörter trennen und in txt-file schreiben Java Basics - Anfänger-Themen 5
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R Wörter-KarteiSystem/Vokabel Trainer Source Fragen Java Basics - Anfänger-Themen 9
A Wörter umgekehrten Reihenfolge ausgeben Java Basics - Anfänger-Themen 3
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
P Zwei Wörter vergleichen Java Basics - Anfänger-Themen 11
S Wörter zählen Java Basics - Anfänger-Themen 19
N Wörter zählen im String Java Basics - Anfänger-Themen 3
Screen Wie lese ich Wörter ein? Java Basics - Anfänger-Themen 6
G Wörter Zählen Java Basics - Anfänger-Themen 11
J Wörter im String zählen Java Basics - Anfänger-Themen 4
P wörter im string zählen Java Basics - Anfänger-Themen 9
C Wörter suchen Java Basics - Anfänger-Themen 4
S Regex, Wörter ersetzen Java Basics - Anfänger-Themen 2
S Welche Bedeutung haben diese Wörter? Java Basics - Anfänger-Themen 2
S Zeilen, Zeichen, Wörter Java Basics - Anfänger-Themen 3
K Wörter zählen auf Internetseiten... die zweite Java Basics - Anfänger-Themen 4
F http post einer Webseite nachahmen Java Basics - Anfänger-Themen 3
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable bei aktivieren einer Zelle soll Text selektiert werden. Java Basics - Anfänger-Themen 24
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben