2017-09-14 15 views
-1

Ich habe gelernt und stapeln ein Problem. Ich versuche die Suche nach einem bestimmten Namen und einer Angestelltennummer aus der Textdatei zu machen. Ich habe versucht das Online herum zu recherchieren, aber ich habe nicht speziell viel Ergebnis gefunden.So extrahieren Sie Wörter aus der Textdatei

Wie kann ich dieses Problem beheben:

.\txtFileReader.java:15: error: cannot find symbol while((line = filescan.readLine()) != null)^symbol: method readLine() location: variable filescan of type Scanner 1 error

Hier ist mein Code:

File oldFile = new File("C:\\Tesseract-OCR\\" + name + ".txt"); 
try (BufferedReader reader = new BufferedReader(new FileReader(oldFile))) 
{ 
    StringBuilder contents = new StringBuilder(); 
    String text; 
    while ((text = reader.readLine()) != null) 
    { 
     String lineSeparator = System.getProperty("line.separator"); 
     contents.append(text).append(lineSeparator); 
     System.out.println(text); 
     if (text.contains("*Department: @INFO. TECH")) 
     { 
      int index = text.indexOf("TECH"); 
      text = text.substring(index, text.length()); 
      System.out.println("Result :" + text); 
     } 
    } 
} 

Hier ist meine Tesseract OCR-Textdatei umgewandelt:

ATTENDANCE SHEET

*Department: @INFO. TECH *Date: @18/08/2017

*Year: @THIRD *Division: @C

*Subject Code: @TBGOZ

*Teacher Code: @ITIOOZO

@IT001 @ITOOZ @IT003 @ITOO4

m5 @IT006 @IT007 @IT008

@IT009 @5910 m wm-

m3 @IT014 m @IT016

@IT017 @IT018 m @9219

@IT021 mz @593 @IT024

m @IT026 @IT027 @IT028

@IT029 @m @IT031 W

@IT033 m4 @lT035 @IT036

Ich möchte die Ausgabe auf Konsole drucken, wie:

Department: INFO. TECH 
Year: THIRD 
Division: C 
Subject Code: @TBGOZ 
Teacher Code:ITIOOZO 

Bitte sagen Sie mir Lösung für obige Frage.

+0

Es gibt Tausende von Beispielen zum Lesen von Text aus einer Datei mit Java, da es eine sehr häufige (und Anfänger) Aufgabe ist. Hast du versucht zu suchen? –

+1

Ich habe gerade Ihren Code getestet und es funktioniert. Was ist deine Frage? Das einzige, was ich hinzugefügt habe, war die Ausnahmebehandlung. –

+0

Ich habe den Code eingefügt, bevor Sie ihn bearbeitet haben. Woher kam "filescan"? Ich benutzte Leser im Code, nicht filescan. –

Antwort

0
public static void main(String[] args) { 
     File oldFile = new File("C:\\temp\\test2.txt"); 
     try (BufferedReader reader = new BufferedReader(new FileReader(oldFile))) { 
      StringBuilder contents = new StringBuilder(); 
      String text; 
      String lineSeparator = System.getProperty("line.separator"); 
      while ((text = reader.readLine()) != null) 
      { 
       contents.append(text).append(lineSeparator); 
       // System.out.println(text); 
       String[] parsed = text.split("\\*"); 
       for (String p : parsed) { 
        if (!p.contains("Subject Code")) 
         p = p.replace("@", ""); 
        if (p.startsWith("Department")) { 
         System.out.println(p); 
        } else if (p.startsWith("Year")) { 
         System.out.println(p); 
        } else if (p.startsWith("Division")) { 
         System.out.println(p); 
        } else if (p.startsWith("Subject Code")) { 
         System.out.println(p); 
        } else if (p.startsWith("Teacher Code")) { 
         System.out.println(p); 
        }      


       } 
      } 
     } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 

} 
+0

Wie gehe ich vor, wenn ich nur INFO möchte. TECH, DRITTER, C, @ TBGOZ, ITIOOZO –

+0

Hey..Got die Antwort von System.out.println (pstring (p.lastIndexOf (":") + 1)); –

Verwandte Themen