BufferedReader/PrintWriter an einer HTML

_START

Mitglied
Ich habe eine HTML-Datei, bei der ich die ersten 404 Zeilen überspringen möchte, danach sollen alle restlichen Zeilen an den PrintWriter übergegeben und dann schließlich die Temp-Datei in das Original umgenannt werden.

Aber die Zeilen werden nicht so verarbeitet wie ich es möchte, und auch egal was für Werte ich in die Buffer-Schleifen schreibe, das Ergebnis ist immer gleich.

Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;

public class Workout {
	
	public static void cleanup() throws IOException{
		//Existance-Check
		File index = new File("index.html");
		if(index.exists()){
			System.out.println("> Index found.");
			
			//Temp. file will be created, which will be renamed to the original
			//filename (index.html) after this operation.
			File temporary = new File ("temp.tmp");

			
			BufferedReader bffr = new BufferedReader (new FileReader(index));
			PrintWriter printwr = new PrintWriter (new FileWriter(temporary));
			
			//The 408th line in index is the last line of all the chunk, which is not needed.
			//So these first 408 lines will be not written into the temp-file.
			for(int z=0;z<=404;z++){
				bffr.read();
				if(z==404){
					for(int y=1628;y>=0;y--){
						
						
						String give = bffr.readLine();
						printwr.println(give);
						bffr.read();
					}					
				}
			}
	
			
			System.out.println("> Placing clean Index...");
			
			//Deleting the original file
			index.delete();
			
			//Renaming the temporary file to index.html
			temporary.renameTo(index);
			System.out.println("> Clean Index placed.");
			
			
		}
		else{
			System.out.println("> Index not found.");
		}	
	}
}
 

_START

Mitglied
Kein Erfolg.

Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;

public class Workout {
	
	public static void cleanup() throws IOException{
		//Existance-Check
		File index = new File("index.html");
		if(index.exists()){
			System.out.println("> Index found.");
			
			//Temp. file will be created, which will be renamed to the original
			//filename (index.html) after this operation.
			File temporary = new File ("temp.tmp");

			
			BufferedReader bffr = new BufferedReader (new FileReader(index));
			PrintWriter printwr = new PrintWriter (new FileWriter(temporary));
			
			//The 408th line in index is the last line of all the chunk, which is not needed.
			//So these first 408 lines will be not written into the temp-file.
			for(int z=0;z<=404;z++){
				bffr.readLine();
			}
			for(int y=0;y<=2035;y++){
				printwr.println(bffr.readLine());
				printwr.flush();
			}	
	
			
			System.out.println("> Placing clean Index...");
			
			//Deleting the original file
			index.delete();
			
			//Renaming the temporary file to index.html
			temporary.renameTo(index);
			System.out.println("> Clean Index placed.");
			
			
		}
		else{
			System.out.println("> Index not found.");
		}	
	}
}

Also hier mal Fakten:

Die HTML ist 2355 Zeilen groß.
Die ersten 404 Zeilen sind Chunk und sollen übersprungen werden.
Java:
for(int z=0;z<=404;z++){
bffr.readLine();
}
Der Rest ab Zeile 404 (Rest = (2355-404)) soll in die Tempdatei geschrieben werden.
Java:
for(int y=0;y<=1951;y++){
printwr.println(bffr.readLine());
printwr.flush();
}

Wo die Datei, also das Endergebnis aber anfängt ist: 463 (Im Vergleich zur Anfangsdatei).
Also 55 Zeilen zu spät und außerdem sind in der Enddatei die Zeilen 1913 bis 1953 mit null beschrieben.

Warum?


Edit: Ich habe nun 55 Zeilen bei beiden Schleifenbedingungen abgezogen um komme so
zum Wunschergebnis. Aber wieso die Differenz von 55?
Wegen den vielen leeren Zeilen etwa?
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Kann ich mir fast nicht vorstellen, denn [c]readLine()[/c] erkennt alle möglichen Kombinationen von Line Separatoren:
Reads a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.
 

GUI-Programmer

Top Contributor
Ich vermute einfach mal, dass es daran liegt, dass dein temporärer File niemals erzeugt wird. Schreib daher nach
Code:
File temporary = new File ("temp.tmp");
noch
Code:
temporary.createNewFile();
. Vielleich funktionierts ja dann.
 

_START

Mitglied
Männer, da scheint etwas nicht zu stimmen.

Seht euch mal diesen HTML-Ausschnitt an:
PHP:
	<img src="http://forums.di.fm/images/statusicon/thread_new.gif" id="thread_statusicon_254754" alt="" border="" />
	</td>
	
		<td class="alt2"><img src="http://forums.di.fm/images/misc/poll_posticon.gif" alt="Poll" border="0" /></td>
	

	<td class="alt1" id="td_threadtitle_254754" title="">

		
		<div>
			
			<a href="http://forums.di.fm/dubstep/6-hertz-megazord-mixdown-254754/" id="thread_gotonew_254754"><img class="inlineimg" src="http://forums.di.fm/images/buttons/firstnew.gif" alt="Go to first new post" border="0" /></a>
			
			Poll: 
			
			<a href="http://forums.di.fm/dubstep/6-hertz-megazord-mixdown-254754/" id="thread_title_254754" style="font-weight:bold">6-Hertz - Megazord Mixdown</a>
			
		</div>

Was ich in mein Buffer will ist die vorletzte (beschriebene Zeile). Das ist im Gesamtkontext der HTML die 16. Zeile. Also um dahin zu kommen:
Java:
for(int z=0;z<=16;z++)
extract.readLine();

Oder? Nein, da komm ich aber 4 Zeilen später an. Also der Puffer verschiebt sich um 4 Zeilen.
Mit
Java:
for(int z=0;z<=14;z++)
extract.readLine();

komme ich aber ans Ziel. Warum ist das so?
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Ist ja klar. Du willst die 16. Zeile. Die Zeilen [c]0 <= z <= 14[/c], also 15 (!) Zeilen "wirfst du mit [c]extract.readLine()[/c] weg". Somit kriegst du danach die 16. Zeile. Ich würde da eher bei 1 beginnen (oder wahlweise bei 0) aber auf jedenfall statt [c]<= 14[/c] [c]< 15[/c] verwenden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Socket.setSoTimeout -> BufferedReader -> Default value Allgemeine Java-Themen 4
kodela Unterschiedliches Verhalten von BufferedReader Allgemeine Java-Themen 3
D BufferedReader bricht nach 1248 Iterationen ab Allgemeine Java-Themen 14
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
C TCP Server und BufferedReader Leerstring im Stream? Allgemeine Java-Themen 5
A BufferedReader ohne System.in Allgemeine Java-Themen 9
J BufferedReader Datei einlesen Allgemeine Java-Themen 8
Messoras Der BufferedReader mag mich nicht Allgemeine Java-Themen 47
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
J BufferedReader OutOfMemory umgehen? Allgemeine Java-Themen 10
B Input/Output BufferedReader Allgemeine Java-Themen 3
O BufferedReader von ganz unten anfangen zu lesen Allgemeine Java-Themen 7
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
K BufferedReader.readLine erkennt Zeilenende nicht Allgemeine Java-Themen 11
D 'InputStreamReader' & 'BufferedReader' führen zu "cannot find symbol"-Fehler Allgemeine Java-Themen 3
D Scanner leer aber bufferedReader nicht?! Allgemeine Java-Themen 2
A bufferedReader readline, encoding Allgemeine Java-Themen 5
V wie bufferedreader.readline() unterbrechen? Allgemeine Java-Themen 4
Developer_X Java BufferedReader mit URL Allgemeine Java-Themen 5
D BufferedREader#readLine Allgemeine Java-Themen 20
Semox Fehler - Zuweisung aus BufferedReader an Variable Allgemeine Java-Themen 3
S Exception beim BufferedReader Allgemeine Java-Themen 3
J BufferedReader br.readLine(); Allgemeine Java-Themen 22
G getFilePointer in BufferedReader? Allgemeine Java-Themen 2
D (BufferedReader) inLine() "verschluckt" zeilen ? Allgemeine Java-Themen 2
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
W Frage zu BufferedReader Allgemeine Java-Themen 2
conan2 BufferedReader.readLine() von anderem Thread aus beenden Allgemeine Java-Themen 4
K Wie kann ich einen BufferedReader beschleunigen? Allgemeine Java-Themen 4
N readLine() von BufferedReader hält das Programm fest/auf! Allgemeine Java-Themen 10
B while mit BufferedReader beenden Allgemeine Java-Themen 5
F Zu große Werte beim byteweisen Lesen mit BufferedReader.read Allgemeine Java-Themen 5
S BufferedReader problem Allgemeine Java-Themen 11
D BufferedReader in image umwandeln Allgemeine Java-Themen 3
M BufferedReader input - hängt sich auf Allgemeine Java-Themen 4
C Probleme mit URL und BufferedReader Allgemeine Java-Themen 6
C BufferedReader oder DataInputStream Allgemeine Java-Themen 4
M Store a String in a BufferedReader Allgemeine Java-Themen 2
G String an Arduino senden NullPointerException in PrintWriter Allgemeine Java-Themen 6
S PrintWriter.println() schreibt mehrere Zeilen Allgemeine Java-Themen 19
H PrintWriter Dateiaufnahme Allgemeine Java-Themen 3
Developer_X Problem mit PrintWriter Allgemeine Java-Themen 6
Daniel_L JavaBib und PrintWriter - BibTex-Datei schreiben Allgemeine Java-Themen 4
G PrintWriter in .jar erstellt keine Datei Allgemeine Java-Themen 4
G Leere Datei mit PrintWriter trotz flush und close Allgemeine Java-Themen 8
W PrintWriter (PrintStream) sendet falsche Werte Allgemeine Java-Themen 18
D FileWriter, PrintWriter und wie sie alle heißen. Allgemeine Java-Themen 13
S PrintWriter und später in der Jar? Allgemeine Java-Themen 5
S Objekte ein- und auslesen PrintWriter Allgemeine Java-Themen 6
S FileWriter PrintWriter Allgemeine Java-Themen 5
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
_user_q Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
D Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
J Zerlegen einer Zahl Allgemeine Java-Themen 6
Zrebna Wie kann man endgültig aus einer Rekursion ausbrechen? Allgemeine Java-Themen 14
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
Meeresgott Effizientester Weg um nach der Value einer verschachtelten Map aufzulösen Allgemeine Java-Themen 5
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
MiMa Prüfziffer einer EAN Nummer berechnen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben