Texte innerhalb von Dateien suchen

Status
Nicht offen für weitere Antworten.

gazale_m

Mitglied
ich habe folgendes Problem und wäre für eine Antwort bzw. Hilfe sehr dankbar . Ich muss ein Programm schreiben das ein File auf macht sie liest und das Wort „procedures“ drinnen findet und die Zeile wo es ist ausgibt. Ich muss mein Chef so schnell wie möglich ein Demo davon zeige aber ich bin nicht so mächtig in JAVA . vielleicht könnt ihr mir ja helfen mfg

Code:
public static void main(String[] args) throws Throwable{
       suchAlgoritmus objSuche = new suchAlgoritmus();
        objSuche.auslesen();
	}
public class suchAlgoritmus {
	public void auslesen() throws IOException{
	FileInputStream fis = null;
	BufferedInputStream bis = null;
	DataInputStream dis = null;	
	try{
	    InputStreamReader inStream =new InputStreamReader( System.in ) ;
	    BufferedReader stdin = new BufferedReader( inStream );
	    String fileName;
	    System.out.println("Geben Sie den Pfad ein wo das File sich befindet:");
	    fileName = stdin.readLine();
    File file = new File(fileName);
	    try{
	    	fis = new FileInputStream(file);
		bis = new BufferedInputStream(fis);
		dis = new DataInputStream(bis);
		String line = dis.readLine();
		 while (line != null) {
  	           // line wird von File gelesen und auf den konsole.
System.out.println(line);
			// hier muss  "private void durchsuchen..." aufgerufen werden
		            this.durchsuchen(dis.readLine());

		        	line = dis.readLine()
                                fis.close();
		 bis.close();
		 dis.close();
	    	}
	    catch (FileNotFoundException e) {
	    	// TODO Auto-generated catch block
	    	e.printStackTrace();
		
		}
	}
	catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		System.err.println ("Unable to read from file");
		
		}
	}
	
	private void durchsuchen(String Line){
		  //Hier den Suchalgorytmus rein und die Line durchsuchen und ich weiß indexOf() muss die Arbeit machen aber wie!!!
	    String searchtext = “..”
            while((line = in.readLine())!= null) {
            if(line.indexOf(searchText) > -1) {
                foundLines++;
                if(!foundInFile) {
                    foundInFile = true;
                    System.out.println("Ergebnis in Datei:" + file.getAbsolutePath());
                }
                System.out.println("Zeile " + in.getLineNumber() + ": " + line);
            }
		
		
			}		
	}
:bahnhof: ???:L ???:L
 
G

Gast

Gast
Mit BufferedReader Zeile für Zeile die Datei lesen und den String der Zeile mit der Methode contains() überprüfen ob er das Wort beinhaltet. Wenn ja, diese Zeile ausgeben.
 
G

Gast

Gast
Hab doch geschrieben "wie"...

Code:
import java.io.BufferedReader;
import java.io.FileReader;

public class Test {

	public static void main(String[] args) throws Exception {
		BufferedReader in = new BufferedReader(new FileReader("datei.txt"));
		String s;
		int linenm = 1;
		while ((s = in.readLine()) != null) {
			if (s.contains("procedures")) {
				System.out.println("Zeile " + linenm + ": " + s);
			}
			linenm++;
		}
	}
}
 

gazale_m

Mitglied
danke für deine Geduld. Sorry wenn es blöd klingt aber wie kann ich es in meine Methode "durchsuchen" implementieren.
Danke viel Mals für deine Hilfe
 

Murray

Top Contributor
Zunächst mal solltest Du in der Methode durchsuchen nicht mehr die Datei auslesen - das machst Du doch schon im aufrufenden Code. Und dann dürfte sich die Methode auf ein
Code:
return line.contains( suchtext);
reduzieren.
 

gazale_m

Mitglied
mein Code funktioniert in dieser Format :

Code:
                            fis = new FileInputStream(file);
				 // Here BufferedInputStream is added for fast reading.
			      bis = new BufferedInputStream(fis);
			      dis = new DataInputStream(bis);
			      String line = dis.readLine();
			      int linem =1;
			      while (line != null) {

			          // this statement reads the line from the file and print it to
			            // the console.
			            System.out.println(line);
						 // this read the search method from the "private void durchsuchen..."
		                //this.durchsuchen(dis.readLine());
			           if(line.contains("Page")){
			        	   System.out.println("Zeile "+ linem + ": " +line);
			           }
			            linem++;
			            
                   // Wichtig: nachlesen. Sonst wirds eine Endlosschleife... :-)	            
		        	line = dis.readLine();

			          }

			          // dispose all the resources after using them.
			          fis.close();
			          bis.close();
			          dis.close();

	    	}

aber wenn ich sie wie du gesagt hast in der Methode durchsuchen() schreiben will :
Code:
public void auslesen() throws IOException{
.
.
.
                             while (line != null) {
                             this.durchsuchen(dis.readLine());
.
.
}
private void durchsuchen(String Line){
		
		String searchText= "procedures";
                int linem =1;
                if(line.contains(searchText)){
			        	   System.out.println("Zeile "+ linem + ": " +line);
			           }
			            linem++;
                return line.contains( suchtext);
                }

ist es so richtig ??
 

Murray

Top Contributor
Code:
public void auslesen() throws IOException{
.
.
.
    String s;
    int line = 0;
    while ((s = in.readLine()) != null) {
       line++;
       if ( durchsuchen( s)) System.out.println( "Treffer in Zeile " + line);
    }
.
.
} 

private boolean durchsuchen(String line){
  String searchText= "procedures";
  return line.contains(searchText);
}

Ob sich dafür eine eigene Methode lohnt, steht natürlich auf einem anderen Blatt...
 

gazale_m

Mitglied
Danke Dir . Nur noch eine klitze kleine Frage. Hier könnte ich EIN wort finden wir finde ich mehrere Worter?
 
G

Gast

Gast
Zum Beispiel so. Als "Wortliste" wird ein String[] benutzt und dieses durchgegangen, ob alle Wörter in der Zeile vorkommen

Code:
private boolean durchsuchen(String line, String[] wordlist){
    boolean foundall = true;
    for(String search: wordlist) {
         if(!line.contains(search) {
             foundall = false;
         }
    }
    return foundall;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java-Prog soll Texte innerhalb Bildern erkennen Java Basics - Anfänger-Themen 2
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
L Texte filtern Java Basics - Anfänger-Themen 36
B Texte umdrehen Java Basics - Anfänger-Themen 4
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
J Texte für Java Programmierung besser verstehen? Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
I Texte an bestimmten Stellen ausgeben. Java Basics - Anfänger-Themen 3
L vergleich zweier texte Java Basics - Anfänger-Themen 18
W Texte kodieren Java Basics - Anfänger-Themen 33
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
M Auf einen Array innerhalb eines Objekts zugreifen Java Basics - Anfänger-Themen 5
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
dapzoo Innerhalb eines Jahres intensivem Java-Selbststudium zur Anstellung? Java Basics - Anfänger-Themen 37
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
T split innerhalb Klammern ignorieren? Java Basics - Anfänger-Themen 6
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
I Try-Catch innerhalb eines Catchblocks Java Basics - Anfänger-Themen 1
J Innerhalb von Zeichenketten tauschen Java Basics - Anfänger-Themen 1
S BufferedWriter innerhalb einer Methode Java Basics - Anfänger-Themen 2
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2
H For-Schleife innerhalb If-Abfrage? Java Basics - Anfänger-Themen 3
A Werte innerhalb von resultset vergleichen Java Basics - Anfänger-Themen 2
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
MiMa abbruch innerhalb einer Rekursiven Schleife Java Basics - Anfänger-Themen 5
J Array innerhalb einer Funktion mehrfach iniatilisieren Java Basics - Anfänger-Themen 4
O Vererbung this innerhalb von super Java Basics - Anfänger-Themen 7
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
J Innerhalb Interfacemethode: Interface als Attribut Java Basics - Anfänger-Themen 2
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
S Classpath: Alle .jars innerhalb eines Ordners einbinden Java Basics - Anfänger-Themen 4
M Farben/Color Abfragen von Farben innerhalb einer Methode Java Basics - Anfänger-Themen 9
T Erste Schritte run innerhalb eines package Java Basics - Anfänger-Themen 1
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
B Variablen global abspeicher innerhalb von Methoden Java Basics - Anfänger-Themen 7
D Methoden Implementieren von einer Zoomfunktion innerhalb eines JPanels mit null-Layoutmanager Java Basics - Anfänger-Themen 1
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
M Text innerhalb Anführungsstriche als "eins" auswerten Java Basics - Anfänger-Themen 5
O Files eines Directories innerhalb eines JAR-Files auflisten Java Basics - Anfänger-Themen 0
S Funktionen/Atrribute nur innerhalb einer package Zugänglich machen Java Basics - Anfänger-Themen 8
I JTextfield[] innerhalb eines Itemlistener aufrufen Java Basics - Anfänger-Themen 2
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
D OOP Identifzierung eines Objektes innerhalb eines Array Java Basics - Anfänger-Themen 3
G Bewegung innerhalb eines Koordinatensystems berechnen Java Basics - Anfänger-Themen 9
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
L Next()-Aufruf zweimal innerhalb einer While-Schleife bei ListIterator Java Basics - Anfänger-Themen 10
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
B for-schleife innerhalb neuer Methode Java Basics - Anfänger-Themen 5
N Innerhalb des Programmes RAM einstellen Java Basics - Anfänger-Themen 2
J Variablen überschreiben innerhalb einer Klasse Java Basics - Anfänger-Themen 7
N Zugriff auf Werte in Arrays innerhalb ArrayList Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
H Innerhalb eines Package wird eine Klassenmethode nicht gefunden. Java Basics - Anfänger-Themen 2
Kaniee Zugriffe innerhalb eines Arrays Java Basics - Anfänger-Themen 9
A objekt innerhalb der gleiche klasse Java Basics - Anfänger-Themen 10
J Dateien innerhalb einer JAR verwenden Java Basics - Anfänger-Themen 3
J Innerhalb der Border zeichnen Java Basics - Anfänger-Themen 9
P Unterschied JRE innerhalb/ außerhalb des JDK Verzeichnisses? Java Basics - Anfänger-Themen 5
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
K Bild mit Maus innerhalb eines Rahmens bewegen Java Basics - Anfänger-Themen 5
E Zeile innerhalb Datei überschreiben Java Basics - Anfänger-Themen 2
K Methoden Zustand innerhalb einer Instanz ändern Java Basics - Anfänger-Themen 2
S Variablen Variable innerhalb eines if-Statements? Java Basics - Anfänger-Themen 10
N OOP Zugriff auf eine Objekt innerhalb einer Klasse aus statischen Methoden Java Basics - Anfänger-Themen 9
S Innerhalb eines Fensters ein neues erschaffen Java Basics - Anfänger-Themen 7
E Elemente innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 7
M Main methode innerhalb von Java aufrufen Java Basics - Anfänger-Themen 11
A lokale Variable innerhalb "actionPerformed()" Java Basics - Anfänger-Themen 10
L Lokale Variable und Instanzvariable innerhalb Iterator Java Basics - Anfänger-Themen 8
M FileWriter innerhalb runnable Jar Java Basics - Anfänger-Themen 8
J Diverse Frag zu Vererbung innerhalb von Java Java Basics - Anfänger-Themen 6
O Änderungen innerhalb for-Schleife speichern Java Basics - Anfänger-Themen 17
J Wie auf eine Datei innerhalb des JAR-Files zugreifen Java Basics - Anfänger-Themen 2
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
T switchcase innerhalb Schleife: von case-Fall aus Schleife beenden Java Basics - Anfänger-Themen 3
L Timer innerhalb eines Threads Java Basics - Anfänger-Themen 3
H Klassen zur Anzeige ines Bildes und zum Zeichnen innerhalb diese Bildes Java Basics - Anfänger-Themen 2
D Datei innerhalb einer zip bearbeiten Java Basics - Anfänger-Themen 8
D .class-Datei innerhalb einer .jar-Datei verändern Java Basics - Anfänger-Themen 4
R Interface innerhalb einer Klasse definieren..? Java Basics - Anfänger-Themen 2
M Methode innerhalb Methode Java Basics - Anfänger-Themen 10
C Variable Zeichenkette innerhalb einer Schleife ersetzen Java Basics - Anfänger-Themen 4
Das Brot Relative Pfadangaben innerhalb von .jar Archiven Java Basics - Anfänger-Themen 7
C Textausgabe auf Panelen innerhalb eines Applets Java Basics - Anfänger-Themen 6
Screen Mouserobot clonen? Zeiger nur innerhalb eins Fensters? Java Basics - Anfänger-Themen 3
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
N aus .txt innerhalb eines JARs Zeilenweise lesen Java Basics - Anfänger-Themen 8
D Relativer Pfad innerhalb jar Datei Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben