ReplaceALL - Fehlersuche

L

Legionista

Gast
Guten Tag,

ich habe eine Aufgabe, wo alle Zeilen, die mit einem # beginnen durch ein ! ausgetauscht werden sollen. Leider passiert dies nicht bei mir. Findet jemand vllt. den Fehler?

Java:
package silleraaron;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Controll {
	
	
	File liste = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\Liste.txt");
	File heise = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\heise.txt");
	File gmx = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\gmx.txt");
	File spamblocker = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\spamblocker.txt");
	
	String stringHeise, stringGMX, stringSpamblocker;
	
	RandomAccessFile raf;

	public Controll() {
		
		try {
			
			
			raf = new RandomAccessFile(spamblocker, "rw");
			
			while ((stringSpamblocker = raf.readLine())!=null) {
				
				if (stringSpamblocker.startsWith("#"))
				{
					
					stringSpamblocker.replaceAll("#", "!");
					
				}

				
			}
			raf.close();
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		
		
	}

	
	public static void main(String[] args) {
		new Controll();

	}

}

Vielen Dank!
 

eRaaaa

Top Contributor
Erstmal solltest du dir anschauen was replaceAll zurückliefert. Dann solltest du dir überlegen was du mit dem Rückgabewert machst, im Moment nämlich nichts :)
Sollte da nicht wenigstens auch ein Schreibbefehl im Code zu sehen sein, oder was genau hast du vor?
 
L

Legionista

Gast
Hallo,

danke!

Hier mein neuer Code:

Java:
package silleraaron;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Controll {
	
	
	File liste = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\Liste.txt");
	File heise = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\heise.txt");
	File gmx = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\gmx.txt");
	File spamblocker = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\spamblocker.txt");
	
	String stringHeise, stringGMX, stringSpamblocker;
	
	RandomAccessFile raf;

	public Controll() {
		
		try {
			
			
			raf = new RandomAccessFile(spamblocker, "rw");
			
			while ((stringSpamblocker = raf.readLine())!=null) {
				System.out.println(stringSpamblocker);
				
				if (stringSpamblocker.startsWith("#"))
				{
					
					stringSpamblocker.replaceAll("#", "!");
					raf.writeBytes(stringSpamblocker);
					
				}

				
			}
			raf.close();
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		
		
	}

	
	public static void main(String[] args) {
		new Controll();

	}

}

Nachdem ich nun die Datei geöffnet habe, sieht sie auch anders aus und einige Zeilen sind verschwunden, jedoch nicht alle. Um dies zu verdeutlichen, zeige ich sie einmal:

ALTE DATEI:

# Temporary Blackhole List (DNSBL queries via ix.dnsbl.manitu.net)
#
# Wichtige Hinweise unter NiX Spam: DNSBL und Blacklist zum Download | iX
#
# Important information here: NiX Spam DNSBL and blacklist for download | iX
#
# timestamp spam source
#

2007-01-12T20:06+0100 232.13.117.2
2007-01-11T15:35+0100 132.135.52.126
2007-01-11T22:39+0100 168.140.234.170
2007-01-12T02:48+0100 133.147.193.6
2007-01-11T23:46+0100 151.149.33.228

#
# timestamp spam source
#
2007-01-11T15:35+0100 1227mamod.info
2007-01-11T23:46+0100 ms_lottery@universia.net.mx
2007-01-12T20:06+0100 msgiftkenneth@easymail.hu
2007-01-11T23:46+0100 116.109.105.12.cable.skst.cablerocket.net
2007-01-11T23:46+0100 bois.qwest.net


NEUE DATEI:

# Temporary Blackhole List (DNSBL queries via ix.dnsbl.manitu.net)
# Temporary Blackhole List (DNSBL queries via ix.dnsbl.manitu.net)
# Important information here: NiX Spam DNSBL and blacklist for download | iX
# Important information here: http://www.ix.de/nixspam/dnsbl_en/.117.2
2007-01-11T15:35+0100 132.135.52.126
2007-01-11T22:39+0100 168.140.234.170
2007-01-12T02:48+0100 133.147.193.6
2007-01-11T23:46+0100 151.149.33.228

#
# timestamp spam source
#
# 07-01-11T15:35+0100 1227mamod.info
2007-01-11T23:46+0100 ms_lottery@universia.net.mx
2007-01-12T20:06+0100 msgiftkenneth@easymail.hu
2007-01-11T23:46+0100 116.109.105.12.cable.skst.cablerocket.net
2007-01-11T23:46+0100 bois.qwest.net

Leider nicht ganz das gewünsche Ergebnis.
 

Timothy Truckle

Top Contributor
Du machst den größten Fehler, den man im Umgang mit Dateien machen kann, Du liest und Schreibst gleichzeitig die selbe Datei!.

Schreibe in eine (temoräre) neue Datei.
Nach der Filter-Aktion löschst Du die alte und kopierts die neue an ihre Stelle...

Wenn Du dann nicht nur die Zeilen in die Datei schreibst, die mit dem
Code:
#
beginnen kommt vielleicht auch das gewünschte Ergebnis raus.

bye
TT
 
L

Legionista

Gast
Anbei mein neuer Code:

Java:
package silleraaron;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Controll {
	
	
	File liste = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\Liste.txt");
	File heise = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\heise.txt");
	File gmx = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\gmx.txt");
	File spamblocker = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\spamblocker.txt");
	
	String stringHeise, stringGMX, stringSpamblocker, stringSpamblockerNEU;
	
	RandomAccessFile raf;

	public Controll() {
		
		try {
			
			
			raf = new RandomAccessFile(spamblocker, "rw");
			
			while ((stringSpamblocker = raf.readLine())!=null) {
				
				
				if (stringSpamblocker.startsWith("#"))
				{
					
					stringSpamblocker.replaceAll("#", "!");

					raf.writeBytes(stringSpamblockerNEU + "\r\n");
					
			
				}

				
			}
			raf.close();
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		
		
	}

	
	public static void main(String[] args) {
		new Controll();

	}

}

Meintest du vllt. sowas ? Leider funktioniert immer noch nicht ganz.
 
L

Legionista

Gast
Hallo,

glaube das, was du meinst, ansatzweise verstanden zu haben:

Hier der Code:

Java:
package silleraaron;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Controll {
	
	
	File liste = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\Liste.txt");
	File heise = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\heise.txt");
	File gmx = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\gmx.txt");
	File spamblocker = new File("I:\\eclipse\\MyProjects\\Blacklist\\Textdateien\\spamblocker.txt");
	
	String stringHeise, stringGMX, stringSpamblocker, stringSpamblockerNEU;
	
	RandomAccessFile raf, raf2;

	public Controll() {
		
		try {
			
			
			raf = new RandomAccessFile(spamblocker, "rw");
			raf2 = new RandomAccessFile(liste, "rw");
			
			while ((stringSpamblocker = raf.readLine())!=null) {
				
				
				if (stringSpamblocker.startsWith("#"))
				{
					
					stringSpamblocker.replaceAll("#", "!");

					raf2.writeBytes(stringSpamblocker + "\r\n");
					
			
				}

				
			}
			raf.close();
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		
		
	}

	
	public static void main(String[] args) {
		new Controll();

	}

}

Jetzt steht bei mir in der Datei Liste.txt folgendes:

# Temporary Blackhole List (DNSBL queries via ix.dnsbl.manitu.net)
# Important information here: NiX Spam DNSBL and blacklist for download | iX
#
#
 
T

tröööt

Gast
naja .. es geht ja in die richtige richtung ... aber lies dir noch mal ganz genau die erste antwort durch ...

als tipp : String ist immutable ... steht in jedem grundlagen buch ... und wie man richtig mit files arbeitet auch
 
L

Legionista

Gast
Hallo,

ReplaceAll liefet ebenfalls einen String zurück, oder irre ich mich?

Dieses "immutable" - hast du da eine genauere Erklärung dazu?

Könntet Ihr mir noch einen Tipp geben?
 

xehpuk

Top Contributor
Code:
stringSpamblocker.replaceAll("#", "!")
lässt
Code:
stringSpamblocker
unverändert.
 
T

tröööt

Gast
Hallo,

ReplaceAll liefet ebenfalls einen String zurück, oder irre ich mich?

Dieses "immutable" - hast du da eine genauere Erklärung dazu?

Könntet Ihr mir noch einen Tipp geben?

sach ma ... is bei euch allen i-wie google kaputt ?

wo bitte ist es so schwer auf http : // www . google . de zu gehen ... und dort : "java string immutable" einzugeben ? ...

wie gesagt : das steht in JEDEM grundlagenbuch ... und google weis es auch ...

lernresistenz FTW -.-'
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jxhnny.lpz replaceall exemple Java Basics - Anfänger-Themen 5
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
O Regex bei ReplaceAll ersetzt Wort und Sonderzeichen nicht. Java Basics - Anfänger-Themen 9
C replaceAll() Methode Java Basics - Anfänger-Themen 4
Tommy135 Schlüsselworte ReplaceAll() Java Basics - Anfänger-Themen 9
A Hat jemand einen ratschlag, wie java beim replaceALL eine geschweifte klammer erkennt ? Java Basics - Anfänger-Themen 5
A Akzeptiert das zweite replaceAll nicht Java Basics - Anfänger-Themen 20
K ReplaceAll Java Basics - Anfänger-Themen 5
HoloYoitsu Datentypen replaceAll() mit regex? Java Basics - Anfänger-Themen 5
F String.replaceAll() funktioniert nicht richtig oder habe ich den falschen Regex?? Java Basics - Anfänger-Themen 3
F Methoden replaceAll (regex) HTML Java Basics - Anfänger-Themen 3
C Probleme mit replaceAll Funktion Java Basics - Anfänger-Themen 9
K Probleme mit String.replaceAll() Java Basics - Anfänger-Themen 4
V ReplaceAll mag net Java Basics - Anfänger-Themen 2
S Methoden replaceAll CASE_INSENSITIVE Java Basics - Anfänger-Themen 7
S String dauerhaft mit replaceAll verändern Java Basics - Anfänger-Themen 3
T \n wird als \\n aus File eingelesen - replaceAll funktioniert nicht Java Basics - Anfänger-Themen 8
B Frage zu replaceAll Java Basics - Anfänger-Themen 18
D String.replaceAll("{username}", to.getUserName()); funzt nicht Java Basics - Anfänger-Themen 4
C String replaceAll Java Basics - Anfänger-Themen 4
M replaceAll \ in \\ Java Basics - Anfänger-Themen 5
chik replaceall von doppelbackslash Java Basics - Anfänger-Themen 5
H String.replaceAll Problem Java Basics - Anfänger-Themen 2
G replaceAll funktioniert nicht mit Dateien Java Basics - Anfänger-Themen 3
F replaceAll / GROSS klein Java Basics - Anfänger-Themen 3
G Frage zu replaceAll und regex Java Basics - Anfänger-Themen 3
S string replaceAll regex Java Basics - Anfänger-Themen 2
M replaceAll mit Java 1.3 Java Basics - Anfänger-Themen 4
M replaceAll mit Java 1.3 Java Basics - Anfänger-Themen 2
F regex bei replaceAll und backslash ersetzen geht nicht. Java Basics - Anfänger-Themen 1
B replaceAll Methode Java Basics - Anfänger-Themen 2
P Ausgabe nach replaceALL Java Basics - Anfänger-Themen 5
H replaceAll und RegEx Java Basics - Anfänger-Themen 3
T replaceAll Java Basics - Anfänger-Themen 8
B replaceAll-Funktion Java Basics - Anfänger-Themen 3
B replaceAll macht nix! :-( Java Basics - Anfänger-Themen 4
F ReplaceAll und Slash Java Basics - Anfänger-Themen 9
G Massenersetzungen am besten auch mit replaceAll? Java Basics - Anfänger-Themen 3
P replaceAll Problem mit Backslash Java Basics - Anfänger-Themen 1
S JTextArea.ReplaceAll() schneidet Zeichen weg Java Basics - Anfänger-Themen 3
T Matcher.replaceAll Java Basics - Anfänger-Themen 2
H Klammern bei replaceAll-Methode Java Basics - Anfänger-Themen 3
R replaceall() funktioniert nicht richtig Java Basics - Anfänger-Themen 7
A replaceAll und Leerzeichen Java Basics - Anfänger-Themen 2
O ReplaceAll bei Strings Java Basics - Anfänger-Themen 2
G Fehlersuche-kann mir jemand helfen? Java Basics - Anfänger-Themen 46
T Fehlersuche Java Basics - Anfänger-Themen 12
A Fehlersuche Java Basics - Anfänger-Themen 2
MR._FIRE_Flower Programm Fehlersuche Java Basics - Anfänger-Themen 16
T Hilfe bei der Fehlersuche Java Basics - Anfänger-Themen 23
D Fehlersuche Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
1 Fehlersuche Java Basics - Anfänger-Themen 4
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
A Java Fehlersuche Java Basics - Anfänger-Themen 2
N Hoffnungslose Fehlersuche Java Basics - Anfänger-Themen 11
I Anfängerfrage: Fehlersuche Java Basics - Anfänger-Themen 2
S Fehlersuche(NullPointerException) Java Basics - Anfänger-Themen 5
S Fehlersuche bzw beheben Java Basics - Anfänger-Themen 9
P Fehlersuche bzgl. Array-Keys Java Basics - Anfänger-Themen 6
N Fehlersuche Printwriter Java Basics - Anfänger-Themen 6
N Hilfe bei Fehlersuche Java Basics - Anfänger-Themen 2
B Fehlersuche bei LinkedList Java Basics - Anfänger-Themen 3
w0ddes Array out of Bounds - Fehlersuche Java Basics - Anfänger-Themen 2
? hilfe bei Fehlersuche Sortierung List Java Basics - Anfänger-Themen 5
R Fehlersuche - KeyListener, KeyAdaper - Nichts Klappt! Java Basics - Anfänger-Themen 2
D Zeichen im String ändern -> Fehlersuche Java Basics - Anfänger-Themen 7
S Filereader funktioniert nicht! Fehlersuche Java Basics - Anfänger-Themen 9
S Fehlersuche Java Basics - Anfänger-Themen 6
G Fehlersuche bei einer Rechenoperation Java Basics - Anfänger-Themen 2
G Hilfe bei fehlersuche Java Basics - Anfänger-Themen 3
N Fehlersuche. Tasks Java Basics - Anfänger-Themen 14
D Fehlersuche actionPerformed Java Basics - Anfänger-Themen 6
D Fehlersuche: Jar erstellen Java Basics - Anfänger-Themen 6
B Fehlersuche Java Basics - Anfänger-Themen 4
F Fehlersuche erfolglos Java Basics - Anfänger-Themen 3
F fehlersuche. Java Basics - Anfänger-Themen 13
J Fehlersuche - illegal start of expression Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben