Bestimmtes Wort aus einem Dokument lesen

Status
Nicht offen für weitere Antworten.

Ollek

Bekanntes Mitglied
Guten Morgen,

ich bin neu auf der Insel. Und habe jetzt mein erstes kleines Projekt an die Hand bekommen. Und zwar soll ich von einem bestimmten Verzeichnis die da liegenden Dokumente lesen und diese an einen anderen ort mit anderem Namen speichern. Allerdings muss ich bevor ich das erledigen kann, aus jedem Dokument eine bestimmte Nummer bzw. ein bestimmtes Wort lesen udn dies in deiner anderen Datei suchen.
Deswegen meine Frage, wie kann ich in der gelesenen Datei ein bestimmtes Wort suchen und in einem String speichern??

Sitze gerade an der Methode... Stelle euch den bisherigen Code mal zur Verfügung.
Könnte man bestimmt auch anders schreiben, allerdings bin ich ja erst gerade auf die Insel gestoßen und habe nen Kurs besucht und mich mit Büchern auseinander gesetzt.

Java:
import java.io.*;
import java.util.*;



public class FileIO {
	
	ArrayList zeilenListe = new ArrayList();
	FileReader fileReader;
	BufferedReader reader;
	FileWriter fileWriter;
	BufferedWriter writer;
	
	
	public void readFile(){
		try {
			//Datei laden, die kopiert werden soll
			fileReader = new FileReader(new File ("N:/Mustermann_text.html"));
			reader = new BufferedReader(fileReader);
			
			//Datei laden, woraus der Dateiname anhand der 
			//read Datei
			String zeile = null;
			while((zeile = reader.readLine()) != null){
				System.out.println(zeile);
				zeilenListe.add(zeile + "\n");
			}
			reader.close();
			System.out.println(zeilenListe.size());
			writeFile();
			
			
		} catch (FileNotFoundException ex) {
			System.err.println("Datei konnte nicht geöffnet werden");
			ex.printStackTrace();
			
		}catch (IOException ex){
			System.err.println("Datei konnte nicht gelesen werden");
			ex.printStackTrace();
		}
		
	}//close readFile()
	
	public void writeFile(){
		try {
			fileWriter = new FileWriter(new File("N:/Projekte/SEOOffPage/Test.html"));
			writer = new BufferedWriter(fileWriter);
			
			for(int i = 0; i < zeilenListe.size(); i++){
				writer.write((String) zeilenListe.get(i));
			}
			writer.close();
			zeilenListe = null;
		
		} catch (IOException ex) {
			System.out.println("Datei konnte nicht geschrieben werden");
			ex.printStackTrace();
		}
		
		
	}
	
	public void searchCategoryID(){
		// Hier soll nun der Code hin, damit ich das Wort finde, leider komme ich hier nicht weiter...
	}

Schönen Start in die Woche...

Gruß

Ollek
 
B

bygones

Gast
du willst die gefundenen Woerter in einem String speichern ?

Java:
String zeile = null;
            while((zeile = reader.readLine()) != null){
                System.out.println(zeile);
                // contains dann wenn man keinen regex braucht
                if (zeile.contains(MEIN_WORT)) { 
                     // wie auch immer String speichern
                }
                // matches wenn man mit regex arbeiten muss
                if (zeile.matches(MEIN_REGEX) {

                }
                zeilenListe.add(zeile + "\n");
            }
 

Ollek

Bekanntes Mitglied
Danke, das geht schon in die Richtung. Ich glaube ich muss meine Bitte noch mehr umschreiben...

Ich möchte ein bestimmtes Wort, wo eine Zahlenfolge dran hängt aus der Datei suchen, welche ich gelesen habe. Dann muss ich das Wort und die Zahl voneinander trennen. Beispiel: categoryID=66586 . So sieht das Wort mit Zahl aus welches ich gesucht habe. Aber ich brauche halt nur noch die Zahl für die neue Datei.
Danach muss ich in einer anderen Datei suchen. An dieser Zahl hängt jetzt das Wort, welches ich für den Dateinamen brauche. Beispiel: DasIstJetztDerDateiname;66586.
Das könnte ich ja dann mit einem Split splitten, sodass ich dann den Dateinamen schon mal habe.

Ich hoffe das ich euch dort genug Infos bereitgestellt habt, dass ihr mir auf die Sprünge helfen könnt...
 

Landei

Top Contributor
steht das categoryID immer am Anfang der Zeile? Dann kannst du beim zeilenweisen Einlesen der Datei einfach mit
line.trim().startsWith("categoryID") darauf testen, und dann mit split die Zahl rausfischen. Ansonsten hilft indexOf oder eine RegEx.
 

Ollek

Bekanntes Mitglied
Steht leider nicht am Anfang der Zeile...
Ich probiere mal Eure Vorschläge anzuwenden..
 

Ollek

Bekanntes Mitglied
So ich habe jetzt schon mal nur die Zahl aus dem String gelesen.
Allerdings komme ich gerade auch nicht weiter... Da sich die categoryId von mal zu mal verlängert (können mal 6 oder 7 Zahlen sein), brauche ich nun einen Befehl, welcher nur die numerischen zeichen ausliest. Falls es nur 5 Zahlen sind, kann ichs ja den Leerraum mit String.trim() entfernen.

Hier mal meine Methode, die mit die categoryId herraus sucht...

Java:
public void searchCategoryId(String zeile){	
		
			String suchWort = "categoryId=";
			int index = zeile.indexOf(suchWort);
			if (index != -1){  // -1 bedeutet, das kein Wort in der Zeile mit dem suchWort übereinstimmt
				String categoryId = zeile.substring(index + 11, index + 16);
				System.out.println(categoryId);
			}
		
		
	}// close searchCategoryID

Gruß
 

Verjigorm

Top Contributor
Welches Zeichen kommt nach deiner categoryID?
Leerzeichen? ">" ?

Code:
String categoryId = zeile.substring(index + 11).split(" ")[0];
oder
String categoryId = zeile.substring(index + 11).split(">")[0];
 

Ollek

Bekanntes Mitglied
Nach der Nummer kommt immer ein "&" Zeichen, habe das in den Split eingefügt.. Nun sollte es ja klappten :)

Danke...

Hier die ausgebesserte Methode:

Java:
public void searchCategoryId(String zeile){	
		
			String suchWort = "categoryId=";
			int index = zeile.indexOf(suchWort);
			if (index != -1){  // -1 bedeutet, das kein Wort in der Zeile mit dem suchWort übereinstimmt
				String categoryId = zeile.substring(index + 11).split("&")[0];
				System.out.println(categoryId);
			}		
	}// close searchCategoryID
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
D gebe string zurück mit von bis bestimmtes Zeichen Java Basics - Anfänger-Themen 4
C Bestimmtes Objekt einer ArrayList in einer Methode selektieren Java Basics - Anfänger-Themen 8
W Processing bestimmtes Feld einfärben Java Basics - Anfänger-Themen 8
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
Todesbote Treeset - Wenn bestimmtes Objekt vorkommt Counter erhöhen Java Basics - Anfänger-Themen 6
D Kontrolle ob Eingabe ein bestimmtes Zeichen ist Java Basics - Anfänger-Themen 3
J Collections Auf ein bestimmtes Objekt in der Liste zugreifen und Werte verändern + Anschließend Sortieren... Java Basics - Anfänger-Themen 8
J Für 3 Sekunden etwas bestimmtes zeichnen Java Basics - Anfänger-Themen 8
C Datei in bestimmtes Verzeichnis speichern Java Basics - Anfänger-Themen 2
C String auf bestimmtes Zeichen prüfen Java Basics - Anfänger-Themen 7
B JTextPane nur bis bestimmtes stelle löschen Java Basics - Anfänger-Themen 6
F Etwas bestimmtes löschen Java Basics - Anfänger-Themen 13
H TabbedPane: wie schalte ich auf ein bestimmtes panel? Java Basics - Anfänger-Themen 2
T scanner bestimmtes format abfragen Java Basics - Anfänger-Themen 5
E Object als Parameter das Unbekannt ist, aber ein bestimmtes Interface haben muss Java Basics - Anfänger-Themen 3
M Auf bestimmtes Objekt zugreifen Java Basics - Anfänger-Themen 10
G Bestimmtes Element in ArrayList finden Java Basics - Anfänger-Themen 3
G Bestimmtes Datum Java Basics - Anfänger-Themen 2
S bestimmtes Auslesen von Spalten eines ResultSet ? Java Basics - Anfänger-Themen 7
M bestimmtes zeichen zu zeilenanfang als abfrage? Java Basics - Anfänger-Themen 4
M ArrayList auf bestimmtes Element zugreifen Java Basics - Anfänger-Themen 2
E Grafik in bestimmtes frame einbinden . Java Basics - Anfänger-Themen 13
J bestimmtes Element aus DefaultListModel ausgeben? Java Basics - Anfänger-Themen 2
G Bestimmtes Feld aus ArrayList auslesen (nicht mit .get(x)?) Java Basics - Anfänger-Themen 27
B Bestimmtes Element eines Arrays zurückliefern Java Basics - Anfänger-Themen 7
B String auf bestimmtes Zeichen überprüfen Java Basics - Anfänger-Themen 7
M bestimmtes Zeichen finden Java Basics - Anfänger-Themen 2
M Ein bestimmtes Zeichen in einem String ändern Java Basics - Anfänger-Themen 4
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
JavaBeginner22 Wort mit der größten Länge ausgeben Java Basics - Anfänger-Themen 4
O Regex bei ReplaceAll ersetzt Wort und Sonderzeichen nicht. Java Basics - Anfänger-Themen 9
R Hangman-Spiel-zufälliges Wort ermitteln Java Basics - Anfänger-Themen 4
S Wort einlesen Array ausgeben Java Basics - Anfänger-Themen 4
I String nach Wort suchen Java Basics - Anfänger-Themen 6
I Java-Wort einlesen und ausgeben Java Basics - Anfänger-Themen 7
O zufälliges Wort aus einer Datei einlesen Java Basics - Anfänger-Themen 32
J Ein Wort aus einer Datei zufällig ermitteln Java Basics - Anfänger-Themen 3
B Umbruch nach bestimmten Wort Java Basics - Anfänger-Themen 5
S Wort suchen und ersetzen in einer Datei Java Basics - Anfänger-Themen 6
M Programm, das ein Wort einliest Java Basics - Anfänger-Themen 3
P Zufälliges Wort direkt aus einer Liste ausgeben Java Basics - Anfänger-Themen 9
F Wort nach String ausgeben Java Basics - Anfänger-Themen 5
L Mit java ein wort mehrfach versetzt darstellen Java Basics - Anfänger-Themen 14
T Zeilen des ListArray nach einem Wort durchsuchen und diese Zeile ausgeben Java Basics - Anfänger-Themen 4
V Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 10
H Erste Schritte Längstes Wort eines Strings herausfinden Java Basics - Anfänger-Themen 7
S Wort in Text suchen und ersetzen Java Basics - Anfänger-Themen 3
Ananaskirsche Variablen Gucken ob Wort in Datei exisitert Java Basics - Anfänger-Themen 6
L Wort in String ersetzen Java Basics - Anfänger-Themen 11
X Methoden Wort aus String löschen und richtige Verschachtelung Java Basics - Anfänger-Themen 17
W Vergleich ob Buchstabe in einem Wort enthalten ist Java Basics - Anfänger-Themen 3
M Methoden String methoden ,Häufigkeit einm wort in der Zeichenkette Java Basics - Anfänger-Themen 14
N RegEx Wort anzeigen Java Basics - Anfänger-Themen 6
B CSV auslesen > Wort bilden > CSV ausgeben Java Basics - Anfänger-Themen 7
K Klassen String - nach Wort durchsuchen Java Basics - Anfänger-Themen 6
D 1 Wort aus TextDatei auslesen Java Basics - Anfänger-Themen 3
J Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 25
D Das 1. Wort aus einem String herauslesen Java Basics - Anfänger-Themen 6
W Zahl/Wort in ein Array zerlegen Java Basics - Anfänger-Themen 6
D Wort nach Leerzeichen - String Java Basics - Anfänger-Themen 10
I Wie kann ich ein Wort in einem String suchen Java Basics - Anfänger-Themen 3
I Wort aus String löschen Java Basics - Anfänger-Themen 11
S Wort in zwei farben aufleuchten lassen Java Basics - Anfänger-Themen 2
T Ersten Buchstaben in einem Wort groß schreiben. Java Basics - Anfänger-Themen 6
I Schriftart für einzelnes Wort in der JTextArea auswählen Java Basics - Anfänger-Themen 3
G Wort suchen Java Basics - Anfänger-Themen 4
L Was bedeutet das Wort "this" ? Java Basics - Anfänger-Themen 2
B a > n ? "wort" : "blub" << was Java Basics - Anfänger-Themen 3
B Char kommt 2 mal im Wort vor (indexOf) Java Basics - Anfänger-Themen 5
M Wort in einem String suchen und ausschneiden Java Basics - Anfänger-Themen 2
M Bestimmtest Wort aus einer Textdatei löschen Java Basics - Anfänger-Themen 3
L Gezielte Infos aus Datei holen - Suche nach Position/Wort Java Basics - Anfänger-Themen 22
E Wort in Datei suchen Java Basics - Anfänger-Themen 5
T Deutsches Wort für WindowClosingAdapter :) Java Basics - Anfänger-Themen 9
D wort rückwärts Java Basics - Anfänger-Themen 9
D Ein Wort einlesen über Tastatur und wieder ausgeben Java Basics - Anfänger-Themen 6
M Wort als Int funktioniert nicht Java Basics - Anfänger-Themen 29
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben