Zeilen auswählen und löschen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Wäre prima, wenn mir hier jemand weiterhelfen könnte. ANmerkungen im Code - es geht darum eine datei einzulesen (*.txt), bestimmte zeilen auszuwählen nach einer bestimmten anfangszeichenfolge und diese zeilen dann zu löschen:

Code:
import java.io.*;
import java.lang.*;



class RandAccessFile

{ public static void main(String[] a) throws IOException

  { RandomAccessFile rf;

    int x,y;

    //Einlesen der Datei test.txt
    rf = new RandomAccessFile("test.txt", "rw");

    //Unnötige Zeilen entfernen

    String s =new String();
    s=rf.readLine();

// HIER müsste jetzt die ein befehl kommen, der am Anfang der Zeile nach einer bestimmten ZEichenfolge sucht und 
//diese danach entfernet - so sollen alle zeilen durchgegangen werden (for-schleife)
//danke!





    /*
    //Datei ausgeben:
    File datei = new File("test.txt");
    FileReader leser = new FileReader(datei);
    for(;;){
    int gelesenInt = leser.read();
    if(gelesenInt == -1){break;}
    char gelesenChar = (char) gelesenInt;
    System.out.print(gelesenChar);}
    */


    //Verbindung trennen
    rf.close();


  }
}
 

The_S

Top Contributor
Code:
if (s.startsWith("xyz")) {
    s = s.substring(anzahlDerBestimmtenZeichen);
}


Den Rest sollteste selber hinbekommen!? :wink:
 

Bleiglanz

Gesperrter Benutzer
du musst eine neue Datei schreiben

und dort nur die Zeilen hineinschreiben, die du willst

auch aus einer RandomAccess Datei kann man keine Bytes einfach so "entfernen", dazu müsste man ja den ganzen Rest "nachziehen", und sowas geht nun mal nicht...
 
G

Guest

Gast
Ok, dann werde ich das mal probieren, danke für eure Inputs!
 
G

Guest

Gast
Leider habe ich noch ein Problem:

In der DAtei steht:

abc

Nun lasse ich es testweise nach dem Einlesen ausgeben - dann kommt raus:

"Leerzeichen" "Komisches Viereck" a "Leerzeichen" b "Leerzeichen" c

So kann ich ja schlecht nahc meiner Zeichenfolge "abc" suchen, wenn der die so zerrupft. An was liegt das?

Und gibts bei STring sowas wie Wildcards, also dass ich sagen kann "*abc" und er nimmt alles was dann irgendwie abc enhält...

DANKE!
 

The_S

Top Contributor
Hm, könnte mir vorstellen, dass das in der Datei verpfuscht wurde, ansonsten zeig mal Code.

Du kannst mit contains überprüfen ob sich eine Zeichenfolge innerhalb eines Strings befindet.
 
G

Guest

Gast
Code:
import java.io.*;
import java.lang.*;



class RandAccessFile

{ public static void main(String[] a) throws IOException

  { RandomAccessFile rf;
  
    int x,y;
    rf = new RandomAccessFile("test.txt", "rw");







    //Unnötige Zeilenentfernen

    String s =new String();
    s=rf.readLine();
    //System.out.println(s);         // lässt man s ausgeben, so ist es auhc verpfusch wie oben beschrieben
    if (s.contains("abc"))                 //das contains tut ned, find es au ned in der API - vermutlich mach ich was falsch
                                                   
       {
       System.out.println("erkannt");

       }
    else System.out.println("nicht erkannt");

  




  

    //Verbindung trennen
    rf.close();


  }
}
 

Bleiglanz

Gesperrter Benutzer
Datei stammt von anderem Rechner?

anderes CharacterEncoding (möglicherweise UTF-16?)

schau das Ding mal in einem Hex-Editor an
 

thE_29

Top Contributor
Mit 2 RandomAccessFile Objekten, kann man Zeilenweise oder byteweise die Datei löschen!! (am Anfang oder Ende halt)

Habe das schon geschrieben, aber da is soviel anderes Zeugs dabei das man das schwer ausbaun kann...

Der eine liest aus, merkt sich die bytes und der 2te schreibt das entweder am anfang drüber und kürzt das file auf die reduzierte größe (fällt der hintere teil weg, da man aber vorher schon vorn reingeschrieben hat, hat man eigentlich vorne Zeile/Bytes weggenommen)

oder man schneidet nach xx Zeilen/Bytes die Datei einfach ab und man hat hinten abgeschnitten
 
G

Guest

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Irgendwas haste mit deiner Datei verpfuscht, bei mir funzt das einwandfrei


Mit dem contains???

Ich habe lediglich eine textdatei auf meinem rechner angelegt die test.txt heißt und abc reingeschrieben...
 

The_S

Top Contributor
Das hab ich auch gemacht und bei mir liefs (ja, auch mit contains). Mit was hast du die Textdatei erstellt? Was haste fürn OS?
 
G

Gast

Gast
Hab grad festgestell, dass es am Notepad liegt..aber bei contains motz er immernoch bei mir:

Compiliere C:\Documents and Settings\awochele\Desktop\RandAccessFile.java mit Java-Compiler
RandAccessFile.java:23: cannot resolve symbol
symbol : method contains (java.lang.String)
location: class java.lang.String
if (s.contains("abc"))
^
1 error
 

The_S

Top Contributor
Das is merkwürdig. Hab hier auch Win 2000 und habs auch mit dem Editor gemacht. Das muss gehen! Überprüf bitte nochmal alles (ob irgendwelche Exceptions fliegen, obs nochma compiliert wurde, ...)

[edit] OK, hat sich dann wohl erledigt. Wobei mich doch interessiert warum das an Notepad liegt.

Zu deinem anderen Problem: Hast wohl kein JDK 1.5 . indexOf ist das gleiche, nur dass indexOf eine Position zurückliefert.
 
G

Gast

Gast
Ich hab die drauf:

j2sdk1.4.2_08

wieso heißen die eig. unterschiedlich???
 
G

Gast

Gast
s=rf.readLine();
//System.out.println(s);
if (s.indexOf("abc"))

so? akzeptiert er au ned...
 
G

Guest

Gast
kannst du mir auch noch sage mit welchem befehl ich in die nächste zeile springe...
 

The_S

Top Contributor
du glaubst? Zur Sicherheit:

jedes mal wenn du readLine() aufrufst liest er die nächste Zeile. :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
districon 2D Array - Zeilen und Spalten durchsuchen Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
C Zeilen aus einer Datei in Array speichern Java Basics - Anfänger-Themen 4
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
D JTable Zeilen löschen Java Basics - Anfänger-Themen 5
H Best Practice JavaFX TableView mit Zell-Rahmen anstelle von Zeilen-Balken Java Basics - Anfänger-Themen 1
V Ergebnisse in 2 Zeilen Java Basics - Anfänger-Themen 4
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
C Zeilen in Array einlesen und splitten? Java Basics - Anfänger-Themen 17
T Zeilen des ListArray nach einem Wort durchsuchen und diese Zeile ausgeben Java Basics - Anfänger-Themen 4
T Exceptions - ausgeführte Zeilen Java Basics - Anfänger-Themen 4
M Input/Output Alle Zeilen auslesen und in Variable speichern Java Basics - Anfänger-Themen 5
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
M Array: Zeilen vergleichen Java Basics - Anfänger-Themen 4
J Klassen Hilfe bei unbekannten Zeilen bzgl. Klassen / Komponenten Java Basics - Anfänger-Themen 12
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
K Input/Output 6000 Zeilen einlesen und String-Array vergleichen? Java Basics - Anfänger-Themen 1
L String extrahieren mit Regular Expression über mehrere Zeilen hinweg Java Basics - Anfänger-Themen 1
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
I Datei mit 2 Spalten und millionen Zeilen Java Basics - Anfänger-Themen 19
kaoZ Input/Output Einlesen von mehreren Zeilen Java Basics - Anfänger-Themen 4
J Zeilen unsichtbar Java Basics - Anfänger-Themen 11
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
V Methoden Zeilen nach bestimmtem Attribut sortieren Java Basics - Anfänger-Themen 4
M Einzelne Zeilen nach Zeichen auslesen Java Basics - Anfänger-Themen 4
T Methoden HILFE! readLine() liest nur ungerade Zeilen?? Java Basics - Anfänger-Themen 2
G JTextArea: nur bestimmte Zeilen anders formatieren Java Basics - Anfänger-Themen 7
B Input/Output bestimmte Zeilen in .txt Dateinen überschreiben Java Basics - Anfänger-Themen 20
G 3422 Zeilen in Eclipse Console Java Basics - Anfänger-Themen 5
L Zeilen und Spalten sortieren Java Basics - Anfänger-Themen 11
K Erste Schritte Eingabetext besteht aus mehreren Zeilen? Java Basics - Anfänger-Themen 3
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
B Zählen bestimmter Zeilen einer .txt Java Basics - Anfänger-Themen 7
N Zeilen vergleichen Java Basics - Anfänger-Themen 7
N Datei mit max 2000 Zeilen schreiben Java Basics - Anfänger-Themen 9
D Input/Output Zeilen aus txt-datei in Java-Liste einfügen Java Basics - Anfänger-Themen 9
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
R Erste Schritte 2D-Array: Zeilen & Spalten ohne schleife übergeben? Java Basics - Anfänger-Themen 3
C Mehrere Zeilen unter ~.showMessageDialog Java Basics - Anfänger-Themen 12
K Java Split mehrere Zeilen Java Basics - Anfänger-Themen 4
H 200000 Zeilen aus Datei einlesen Java Basics - Anfänger-Themen 13
Q LogFile.log einlesen und Werte zwischen 5 zeilen vergleichen Java Basics - Anfänger-Themen 5
P Bestimmte Zeilen einer Datei ermitteln ? Java Basics - Anfänger-Themen 30
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
M Zeilen aus String exportieren Java Basics - Anfänger-Themen 5
P Unterschied dieser 2 code Zeilen Java Basics - Anfänger-Themen 12
A Anzahl Zeilen eines Arrays bestimmen Java Basics - Anfänger-Themen 10
J Zeilen eines Arrays vergleichen Java Basics - Anfänger-Themen 2
S .txt einlesen->Zeilen ersetzen->neu.txt speichern Java Basics - Anfänger-Themen 13
R String über mehrere Zeilen Java Basics - Anfänger-Themen 15
M Verständnis einiger Zeilen Java Basics - Anfänger-Themen 4
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
S Zeilen zählen Java Basics - Anfänger-Themen 7
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
C Zeilen aus einer Datei auslesen Java Basics - Anfänger-Themen 4
H String/StringBuffer nach zeilen aufteilen Java Basics - Anfänger-Themen 2
K Wie kann ich alle Zeilen in eineR Datenbank zählen? Java Basics - Anfänger-Themen 13
JFeel-x Zeilen eines JEditorPanes Java Basics - Anfänger-Themen 2
0 CSV Import - Zeilen, Spalten Java Basics - Anfänger-Themen 15
O 2D Array - Zeilen-/Spaltenlänge ermitteln Java Basics - Anfänger-Themen 4
P String über mehrere Zeilen definieren Java Basics - Anfänger-Themen 3
G Datei zeilen anhängen Java Basics - Anfänger-Themen 3
A Scanner liest nur 999 Zeilen ein Java Basics - Anfänger-Themen 5
B Zeilen in Textdatei löschen Java Basics - Anfänger-Themen 2
D Datei einlesen, zeilen ignorieren, probleeem Java Basics - Anfänger-Themen 7
A Anzahl der Zeilen in Textdatei Java Basics - Anfänger-Themen 7
G Zeilen in Eclipse einblenden Java Basics - Anfänger-Themen 2
M Zeilen aus Textdatei in Array schreiben Java Basics - Anfänger-Themen 2
M Zeilen auslesen Java Basics - Anfänger-Themen 12
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
L In einer Tabelle Zeilen loeschen Java Basics - Anfänger-Themen 4
D Auf Zeilen eines zweidimensionalen Arrays zugreifen Java Basics - Anfänger-Themen 3
D txt nach Zeilen splitten. Java Basics - Anfänger-Themen 9
G Anzahl der Zeilen in einer Datei Java Basics - Anfänger-Themen 7
T die letzten X zeilen einer datei entfernen Java Basics - Anfänger-Themen 19
E was bedeuten @Zeilen Java Basics - Anfänger-Themen 4
T Einlesen von einzelnen Zeilen Java Basics - Anfänger-Themen 2
T null-Zeilen aus einem Array entfernen Java Basics - Anfänger-Themen 4
E Automatischer Zeilen-Umbruch bei JTextArea Java Basics - Anfänger-Themen 4
G zeilen aus text datei löschen Java Basics - Anfänger-Themen 6
G CSV auslesen und Zeilen in Array speichern Java Basics - Anfänger-Themen 13
ARadauer zeilen einer text datei ermitteln Java Basics - Anfänger-Themen 6
S Anzahl von zeilen einer Datei bestimmen. Java Basics - Anfänger-Themen 4
J Tabelle mit mehreren Zeilen dynamisch aufbauen Java Basics - Anfänger-Themen 2
F Zeilen und Spalten in JTable Selektieren Java Basics - Anfänger-Themen 2
S In einer CSV Datei leere Zeilen ignorieren Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben