Textdatei-anzeigen - & - Textteile-ersetzen - & -spe

Status
Nicht offen für weitere Antworten.

TBird

Neues Mitglied
Hallo leuts.
bin neu in dem forum und wollte gleich die gelegenheit ergreifen und alle grüßen.


ich habe da ein problem:

ich möchte ein programm scheiben, dass in der lage ist eine txt Datei von der Festplatte zu öffnen, sie anzuzeigen und dann gewisse textpassagen zu ersetzen. (Bsp. wäre ein Serienbrief, der an der Stelle wo #name steht dann den wirklichen namen reinschreibt)


ich hab da auch schon ein wenig vorgearbeitet, habe da aber so meine problemchen wo ich nicht richtig weiter komme.

1: ich kann mit diesem code bis jetzt ein textdatei einlesen ( aber nur die erste zeile :-( )
2: und kann damit nach einem wort suchen lassen und mir ausgeben lassen, in welcher zeile es steht.


1: wie bekomme ich es hin, dass er den ganzen text nimmt?
(könnte ich es in einem array lösen? das bei jeder neuen zeile das array vergrößert?)
(wobei da ist doch mein problem, dass ich nicht genau weiß wie groß die txt datei ist)


2: wie bekomme ich es hin, an der stelle wo das pattern gefunden wurde, ein anderes wort hinzuschreiben (quasi das pattern zu ersetzen?)


wäre sehr dankbar, wenn mir jemand ein wenig auf die sprünge helfen könnte.

p.s. und sorry wegen dem langen code. ich muss zugeben, ein paar teile (z.b. die suche nach dem pattern) hab ich per cut and paste eingefügt.


Code:
import java.io.*;


public class Anwendung {
	  
	public static String readString () {
		int ch;
		String input = new String("");
		boolean fertig = false;
		while (!fertig) {
		    try {
			ch = System.in.read();
			if (ch < 0 || (char)ch == '\n')
			    fertig = true;
			else if ((char)ch != '\r') input = input + (char)ch;
		    }  catch (java.io.IOException e) {
			fertig = true;
		    }
		}
		return input;
	   }
	
	public static String readFile(String textFileName) {
		
		String line=(" ");
		try{
			
			FileReader file = new FileReader(textFileName);
			BufferedReader puffer = new BufferedReader (file);
			
			boolean eof = false;
			while (!eof){
				line = puffer.readLine();
				if (line == null)
					eof = true;
				return line;
			}
			puffer.close();
		}catch (IOException e) {
			System.out.println("--- Error --- " + e.toString() );
			}
		return line;
	}
	
	/**
	 * Distanztabelle
	 */
	private static int [] delta;
	
	/**
	 * Implementierung des Algorithmus nach [B]Boyer und Moore[/B] 
	 * 
	 * @param text char-Array, welches durchsucht wird
	 * @param pattern Suchmuster String
	 * @return Trefferposition; -1 im Falle keines Treffers
	 */
	public static int boyerMoore(String text, String pattern) {

		if (text.length() < pattern.length())                             // BM1
			return -1;

		// Aufbau der Distanztabelle
		delta(pattern);

		// Initialisierung
		int textPos = pattern.length() - 1, patternPos, merkePos;         // BM2

		while (textPos < text.length()) {                                 // BM3
			patternPos = pattern.length() - 1;
			merkePos = textPos;
			while (text.charAt(textPos) == pattern.charAt(patternPos)) {
				if (patternPos == 0)
					return textPos; // Treffer
				patternPos--;
				textPos--;
			}  // while
			// Weiterruecken nach Distanztabelle
			textPos = merkePos + delta[text.charAt(merkePos)];
		} // while

		return -1; // kein Treffer                                           BM4

	} // boyerMoore

	
	/** 
	 * Aufbau der [I]Sprungweitentabelle[/I]
	 * 
	 * @param pattern Suchmuster (char[])
	 * @return Referenz auf Sprungweitentabelle
	 */
	private static void delta(String pattern) {

		// Groesse der Distanztabelle
		// (Annahme: verwendter Zeichensatz bis maximal Unicode 255)
		final int max = 256;
		delta = new int[max];
		
		// Belegung aller Felder: allgemener Fall ist Patternlaenge
		for (int i = 0; i < max; i++)
			delta[i] = pattern.length();
		
		// Belegung der vorhandene Buchstaben des Pattern
		// die Schleifenrichtung ist wichtig
		for (int i = pattern.length() - 1; i > 0; i--)
			delta[pattern.charAt(pattern.length() - 1 - i)] = i;

	} // delta


	   
	public static void main(String args[]) {
		
		String text, pattern, fileName;
				
		System.out.print("\n Bitte Namen der zu durchsuchenden Textdatei eingeben: ");
		fileName = readString();
		text = readFile(fileName);	

		System.out.print("\n Bitte Suchmuster eingeben: ");
		pattern = readString();

		int treffer = boyerMoore(text, pattern);

		if (treffer >= 0)
			System.out.println("\n Treffer an Position " + treffer + "\n");
		else
			System.out.println("\n \"" + pattern + "\" nicht enthalten\n");

	} 
	
}
 

Maks

Aktives Mitglied
siehe auch unter meinem Namen in der Frage zu JTextArea
Dort habe ich einen guten Code zum buchstabenweisen Einlesen einer Text-Datei gepostet.
Vielleicht gibt Dir das einen besseren Anhaltspunkt! Wichtig ist eine der letzten Zeilen mit out.print(char(i));
Der Rest fängt hauptsächlich Fehler ab.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Eine ganze Textdatei in einer jTextArea anzeigen Java Basics - Anfänger-Themen 4
M Textdatei in Tabbedpane anzeigen Java Basics - Anfänger-Themen 2
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
izoards Textdatei Human unreadable abspeichern Java Basics - Anfänger-Themen 17
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
S Importieren einer Textdatei Java Basics - Anfänger-Themen 2
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
Jinnai4 Werte in Textdatei ändern Java Basics - Anfänger-Themen 2
JDimi Textdatei mit beliebig vielen Zeilenumbrüchen erstellen Java Basics - Anfänger-Themen 2
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G Wert in Textdatei ersetzen? Java Basics - Anfänger-Themen 2
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
T Länge einer Textdatei Java Basics - Anfänger-Themen 11
S Übertragen einer Textdatei in ein 2d-Array Java Basics - Anfänger-Themen 2
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
T Textdatei öffnen und ans Ende scrollen Java Basics - Anfänger-Themen 11
J Textdatei filtern und bearbeiten Java Basics - Anfänger-Themen 1
C Textdatei oder doch eine Datenban Java Basics - Anfänger-Themen 15
J Input/Output Tilemap effizient speichern als Textdatei Java Basics - Anfänger-Themen 7
J Input/Output Zeile in Textdatei ändern Java Basics - Anfänger-Themen 14
M Textdatei(en) in .jar schreiben Java Basics - Anfänger-Themen 5
K Textdatei auslesen Java Basics - Anfänger-Themen 10
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
K Erste Schritte Textdatei -> Array Java Basics - Anfänger-Themen 1
F Textdatei einlesen in ArryList (Objekte abspeichern?) Java Basics - Anfänger-Themen 4
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
G Erste Schritte Textdatei einlesen und in Array speichern Java Basics - Anfänger-Themen 5
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
L Namen aus Textdatei auslesen Java Basics - Anfänger-Themen 1
E Textdatei kopieren funktioniert nicht Java Basics - Anfänger-Themen 12
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
S Methoden Textdatei auslesen Java Basics - Anfänger-Themen 11
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
T Textdatei Zeile löschen? Java Basics - Anfänger-Themen 4
T Textdatei beschreiben/bearbeiten Java Basics - Anfänger-Themen 4
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
C Einlesen in Array von Textdatei sehr langsam Java Basics - Anfänger-Themen 7
R Werte in eine Textdatei schreiben Java Basics - Anfänger-Themen 20
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
T Scanner für große Textdatei Java Basics - Anfänger-Themen 11
A Unterschied Textdatei und Quelltextdatei Java Basics - Anfänger-Themen 5
P Input/Output Textdatei einlesen - 1. Zeichen fehlt Java Basics - Anfänger-Themen 7
J Input/Output Textdatei in einer JAR lesen Java Basics - Anfänger-Themen 3
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
S Textdatei im Internet lesen und editieren Java Basics - Anfänger-Themen 2
J Textdatei einlesen und ausgeben - NullPointerException Java Basics - Anfänger-Themen 5
M Input/Output Objekte in einer Textdatei ablegen (Highscore) Java Basics - Anfänger-Themen 9
P CSV Daten in Textdatei Speichern Java Basics - Anfänger-Themen 3
K Input/Output Eingelesenedaten von Scanner als Textdatei ausgeben? Java Basics - Anfänger-Themen 2
N Input/Output Konsolenausgabe in Textdatei speichern/umleiten Java Basics - Anfänger-Themen 7
V Auf Textdatei in jar zugreifen Java Basics - Anfänger-Themen 3
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
S Methoden Textdatei Teil String auslesen Java Basics - Anfänger-Themen 3
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
M Datum aus einer Textdatei holen Java Basics - Anfänger-Themen 9
C Spalte einer Textdatei einlesen Java Basics - Anfänger-Themen 10
Fab1 Input/Output Textdatei auslesen Java Basics - Anfänger-Themen 4
O grosse Textdatei performant als string speichern Java Basics - Anfänger-Themen 8
P Mit offset aus Textdatei auslesen Java Basics - Anfänger-Themen 3
C Textdatei einlesen Java Basics - Anfänger-Themen 8
V Falsches Auslesen von Textdatei Java Basics - Anfänger-Themen 3
T Input/Output 20Mb Textdatei zeilenweise auslesen Java Basics - Anfänger-Themen 10
N Textdatei lesen mit Umlauten Java Basics - Anfänger-Themen 16
N In Textdatei speichern und auslesen Java Basics - Anfänger-Themen 18
M Textdatei einlesen Java Basics - Anfänger-Themen 3
M Liste in Textdatei schreiben Java Basics - Anfänger-Themen 7
B Input/Output Textdatei einlesen Windows / Linux Java Basics - Anfänger-Themen 2
F Textdatei einlesen Java Basics - Anfänger-Themen 7
C Textdatei einlesen -> Probleme Java Basics - Anfänger-Themen 3
K Input/Output Textdatei scheibchenweise auslesen Java Basics - Anfänger-Themen 8
S Textdatei stückweise einlesen Java Basics - Anfänger-Themen 7
D 1 Wort aus TextDatei auslesen Java Basics - Anfänger-Themen 3
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N Textdatei wird beim Speichern nicht überschrieben, sondern ergänzt Java Basics - Anfänger-Themen 4
A Double Array in TextDatei schreiben Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben