tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
357
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Blind Guardian Blind Guardian ist offline Mitglied
    Registriert seit
    Nov 2004
    Beiträge
    14
    Hi Leute,

    Habe ein kleines Problemchen...und zwar liest ein Programm eine Datei zeilenweise aus...jede Zeile kommt als String in ein Element eines Vectors...

    Dann durchsuche ich den Vectro nach verschiedenen Strings...(irgendwelche Marken)

    Er findet die Strings und gibt mir die jeweilige Zeile bzw das Element aus...

    Kann man es irgendwie anstellen, dass er die Zeilen, wo er diese Marke findet in extra Variablen speichert...

    Denn es soll dann noch die kompletten Zeilen zwischen den Marken gelöscht werden...bzw ausgeschnitten werden...

    Soll heissen, wenn ich eine Textdatei habe...

    z.B.:
    Gestern war
    schönes Wetter,
    weil die
    Sonne schien
    und es
    nicht geregnet
    hat.

    Als Marke nehmen wir mal Wetter und geregnet...

    Also gibt er mir Zeile 2 und Zeile 6 aus. Ich würde nun wollen, dass er die Zeilen 2-6 aus der entfernt und die übrig gebliebenen Zeilen in einer Datei speichert...

    Mein Code bisher

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    
    import java.io.*;
    import java.util.Vector;
    public class LineNumber
    {
      public static void main( String args[] )
      {
        try
        {
          Reader fr = new FileReader( "D:\\home\\geißler\\Java\\test.txt" );
          LineNumberReader f = new LineNumberReader( fr );
          Vector vector = new Vector();
          Vector vector2 = new Vector();
          String line = "";
          while ((line=f.readLine()) != null)
          
           vector.addElement(line);
       vector.size();
       
       for (int i=0;i<vector.size();i++)
       { 
        String temp=(String)vector.elementAt(i);
        if (temp.indexOf("Nur BMR")>0)
        {
         vector2.addElement(i+temp);
         System.out.println(i+temp);
        }
        else;
       }
        
          f.close(); //Datei schliessen
        }
        catch ( IOException e ) 
        {
          System.out.println( "Fehler beim Lesen der Datei" );
        }
      }
    }

    Mein Problem liegt nur darin, wie ich auf die Zeilennummer komme wo die Marke drin ist, damit ich den Text zwischen den beiden Marken löschen kann...

    -Danke für die Hilfe- Danilo
     

  2. #2
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Hi,
    entweder Du legst eine neue Datenklasse an, die als Variablen die Zeilennummer und den String aufnimmt, und fügst Objekte davon in die Vectoren, oder Du benutzt eine HashMap mit der Zeilennummer (Integer, gewrapped) als Key und dem String als Value.
     

  3. #3
    Avatar von Franz Degenhardt
    Franz Degenhardt Franz Degenhardt ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Köln
    Beiträge
    378
    Brauchst du die Zeilen nummern? Oder wieso speicherst du den Text nicht in einem Stringbuffer? Dann kannst du mit indexOf und substring den String bearbeiten und ausschneiden was du willst.

    Grüsse TrueSun
     
    Denken gefärdet die Gewohnheit

Ähnliche Themen

  1. Vectoren
    Von ichebem im Forum Java
    Antworten: 57
    Letzter Beitrag: 18.01.08, 11:36
  2. Vector aus Vectoren
    Von javaxy im Forum Java
    Antworten: 2
    Letzter Beitrag: 09.08.07, 18:26
  3. Vectoren
    Von Wyatt im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 8
    Letzter Beitrag: 03.08.07, 20:29
  4. Vector aus Vectoren
    Von javaxy im Forum Java
    Antworten: 2
    Letzter Beitrag: 11.06.07, 16:08
  5. Problem:sql ResultSet und java Vectoren
    Von maikmaik im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.07.04, 09:17