tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
463
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    butterfly84 butterfly84 ist offline Rookie
    Registriert seit
    Mar 2011
    Beiträge
    7
    Hallo,

    wenn ich eine Textdatei mit readline() lese und auch die Zeilennummer habe, wie kann man an einer bestimmten Zeile an der man ist einfach eine Zeile zurück gehen, um da was zu verändern?

    Mfg
     

  2. #2
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Es gibt nen LineNumberReader. Dort kann man genau die Zeile angeben die man auslesen moechte. Zum aendern, kenn ich aber keinen anderen Weg, als den String zu aendern und ab dort die komplette Datei neu zu schreiben.

    Code java:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    
    package org.kodejava.example.io;
     
    import java.io.File;
    import java.io.FileReader;
    import java.io.LineNumberReader;
     
    public class LineNumberReaderExample {
        public static void main(String[] args) throws Exception {               
            File file = null;
            FileReader fr = null;
            LineNumberReader lnr = null;
     
            try {
                // 
                // We'll read a file called student.csv that contains our
                // student information data.
                //
                file = new File("student.csv");
                
                // 
                // To create the FileReader we can pass in our student data 
                // file to the reader. Next we pass the reader into our 
                // LineNumberReader class.
                //
                fr = new FileReader(file);            
                lnr = new LineNumberReader(fr);
                
                // 
                // If we set the line number of the LineNumberReader here 
                // we'll got the line number start from the defined line 
                // number + 1
                //
                
                //lnr.setLineNumber(400);
     
                String line = "";            
                while ((line = lnr.readLine()) != null) {
                    // 
                    // We print out the student data and show what line 
                    // is currently read by our program.
                    //
                    System.out.println("Line Number " + lnr.getLineNumber() + 
                            ": " + line);                
                }
            } finally {
                // 
                // Don't forget to close the stream when we finish reading 
                // the file.
                //
                if (fr != null) {
                    fr.close();
                }
                if (lnr != null) {
                    lnr.close();
                }
            }
        }
    }
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

  3. #3
    butterfly84 butterfly84 ist offline Rookie
    Registriert seit
    Mar 2011
    Beiträge
    7
    Vielen Dank MiMi,

    ich weiss ja vorher nicht welche Zeilennummer es sein wird und wenn ich an einer bestimmten Stelle im Code getLineNumber()-1 mache um in die vorherige Zeile zu gelangen, wird nur die Zeilennummer verändert aber Inhalt ist immer noch der Teile, was ja auch logisch ist. Meine Frage ist, wie ich auch inhaltlich die Zeile zurücksetze

    z.B. habe ich folgenden Text:

    4 0 -1 0 0 16 20 0.0000 4 830 273 7110 847 0..*\001
    2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 4
    8848 4316 8056 4316 8056 575 7060 575
    2 1 0 1 -1 7 0 0 40 0.000 0 0 -1 0 0 4
    12966 49 13266 349 12966 649 12966 49
    2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2

    und wenn getLineNumber 3 ist, soll es in die zweite Zeile.Geht das****?
     

  4. #4
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Hast du nicht die Moeglichkeit, dir die Zeilen zu merken und dann mit dem LineNumberReader die jeweilige Zeile zu holen?

    Edit:
    Oder du liest jede Zeile in ein Array, wobei der Arrayindex dann fuer die Zeile steht. So kannst du einfach die jeweilige Zeile aufrufen und aendern
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

Ähnliche Themen

  1. Datagrid - einzelne Zeile auswählen
    Von adilette im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 06.11.07, 13:12
  2. Antworten: 3
    Letzter Beitrag: 08.03.05, 13:50
  3. standardmäßig 1. zeile in jtable auswählen
    Von Shizzl_chrizzl im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 01.12.04, 12:59
  4. Antworten: 1
    Letzter Beitrag: 10.04.04, 13:30
  5. zufällige Zeile auswählen
    Von mcphilli im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 07.05.03, 10:45