schreiben in einer datei

Status
Nicht offen für weitere Antworten.

Java_Fan

Mitglied
Hallo,
Mein Programm wächst langsam über meine Java Kenntnisse. Ich kann zurzeit eine Textdatei aufrufen(lesen) den Text in der Konsole schreiben, die Wörter die ich suche finden und unterstreichen!
Jetzt will ich mein Program erweitern und den Text in eine neue Datei mit den Änderungen schreiben. Den Text kann ich mit Erfolg in der Datei schreiben aber weiß nicht wie ich die änderungen auch in datei schreiben kann. die sind die Befehle :System.out.print(c); (outputChar ()) und System.out.println("\n"); (underline())
Habe ich alles richtig erklärt??Würdet mir bitte helfen ?

Code:
public class searchAlgoritmus {	 
	private String fileName;
	   public void setFileName(String fileName)
	   {
		this.fileName = fileName;
		try {
			reading();
		} catch (IOException e) {
			e.printStackTrace();
		}	   }
public void reading()throws IOException{	 
		FileInputStream fis = null;
		BufferedInputStream bis = null;
		DataInputStream dis = null;
		FileWriter f1 = new FileWriter("c:/test.txt");
		
		File file = new File(fileName);
			try {
				ArrayList<String> words = new ArrayList();
				words.add("Page");
				words.add("State");
				
				fis = new FileInputStream(file);
				bis = new BufferedInputStream(fis);
				dis = new DataInputStream(bis);
				String line = dis.readLine();
				int linem = 1;
				while (line != null) {
										
					PrintWriter out= new PrintWriter(f1);
					out.println(line);
					
					int W=words.size();
					int nummer;
					String suchWort="";
					for (nummer = 0; nummer < W; ++nummer) {
					    suchWort = words.get(nummer);
					    underline(line,suchWort);
					}
					linem++;
					line = dis.readLine();
				}
				f1.close();
				fis.close();
				bis.close();
				dis.close();
				
				
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		} 
	

	private static void underline(String origLine, String searchWord) {
		int i = 0;
		int last = 0;
		while (i >= 0) {
			i = origLine.indexOf(searchWord, i);
			if (i < 0)
				break;

			outputChar(i, last, ' ');
			outputChar(searchWord.length(), 0, '-');
			last = i + searchWord.length();
			System.out.println("\n");
			i++;
		}
	}

	private static void outputChar(int i, int last, char c) {
		for (int j = last; j < i; j++)
			System.out.print(c);
	}
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
	}

}
 

Murray

Top Contributor
So ganz verstehe ich die Frage nicht - willst Du, dass das, was jetzt auf der Konsole ausgegeben wird, in einer Datei landet? Dann könntest Du per java.lang.System.setOut sämtliche Programmausgaben umleiten oder aber (m.E. besser) überall da, wo Du jetzt System.out verwendest, eine java.io.Writer als Parameter in die Methode geben und die Ausgabe auf diesen übergebenen Writer machen
 
S

SlaterB

Gast
outputChar muss statt System.out.print() auch sowas wie
> PrintWriter out= new PrintWriter(f1);
> out.println(line);
verwenden,

wie schon in der while-Schleife Zeile 29 solltest du aber nicht tausende PrintWriter-Objekte erzeugen (pro Ausgabe 1),
sondern nur genau EINEN PrintWriter, du hast doch auch nur EINEN FileWriter f1
 

Java_Fan

Mitglied
Danke SlaterB. Ich habe so gemacht wie du gesagt hast aber ich bekomme fehler Meldungen !!!

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
Syntax error, insert ";" to complete Statement
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

at suchAlgoritmus.outputChar(suchAlgoritmus.java:99)
at suchAlgoritmus.underline(suchAlgoritmus.java:88)
at suchAlgoritmus.auslesen(suchAlgoritmus.java:63)
at suchAlgoritmus.setFileName(suchAlgoritmus.java:27)
at Start$1.actionPerformed(Start.java:33)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Code:
while (line != null) {
                    //----> file aufmachen und in file schreiben
									
					//PrintWriter out= new PrintWriter(f1);
					
					int W=words.size();
					int nummer;
					String suchWort="";
					for (nummer = 0; nummer < W; ++nummer) {
					    suchWort = words.get(nummer);
					    underline(line,suchWort);
					}
					linem++;
					line = dis.readLine();
				}
				f1.close();
				fis.close();
				bis.close();
				dis.close();
...
Code:
	private static void outputChar(int i, int last, char c) {
		for (int j = last; j < i; j++)
			//System.out.print(c);
			PrintWriter out= new PrintWriter(f1);
		    out.println(line);
	}
 

Murray

Top Contributor
Da fehlen geschweifte Klammern um den Schleifenkörper.

Code:
   private static void outputChar(int i, int last, char c) {
      for (int j = last; j < i; j++) {
         //System.out.print(c);
         PrintWriter out= new PrintWriter(f1);
          out.println(line);
     }
   }

//EDIT:

Besser wäre es aber, nicht für jedes Zeichen einen eigenen PrintWriter zu bauen, sondern das nur einmal zu machen und ihn als Parameter in die outputChar-Methode zu übergeben.
 
S

SlaterB

Gast
nach einer Schleife ohne Klammern { } darf man keine Variablen deklarieren,
dass du das nicht machen sollst habe ich doch auch extra geschrieben..

der PrintWriter muss, wenn das ganze schon statisch ist, als statische Variable abgelegt sein
 

Java_Fan

Mitglied
Sorry, Ich check das noch nicht ??? was meinst du mit

der PrintWriter muss, wenn das ganze schon statisch ist, als statische Variable abgelegt sein

soll es so aussehen ?
Code:
private static void outputChar(int i, int last, char c) {
		 
		try {
			FileWriter f1 = new FileWriter("c:/test.txt");
			PrintWriter out= new PrintWriter(f1);
			for (int j = last; j < i; j++)
				out.print(c);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		    
	}

und was ist mit underline() Es tut mir so leit aber ich bin ein bissl verwirrt!!!
 
S

SlaterB

Gast
Code:
private static PrintWriter outForOutputMethod = null;

private static void outputChar(int i, int last, char c) {
	try {
		for (int j = last; j < i; j++)
			outForOutputMethod.print(c);
	} catch (IOException e) {
		e.printStackTrace();
	}
}

outForOutputMethod muss irgedwann mal korrekt gesetzt werden, aber nur EINMAL, nicht JEDESMAL

könnte direkt in outputChar passieren:

if (outForOutputMethod == null) {
// Datei aufmachen, Stream setzen
}

oder was auch immer
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
M In einer Datei schreiben - Java Java Basics - Anfänger-Themen 3
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
K weiter schreiben in einer datei Java Basics - Anfänger-Themen 5
J Strings aus einer Datei in 2D Array schreiben Java Basics - Anfänger-Themen 3
A schreiben einer datei Java Basics - Anfänger-Themen 3
S ans Ende einer Datei schreiben Java Basics - Anfänger-Themen 3
H Am ende einer existierenden Datei schreiben? Java Basics - Anfänger-Themen 8
O Schreiben einer Datei auf einem Server Java Basics - Anfänger-Themen 5
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
G Queue auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
J Kann man auch alles in einer Klasse schreiben? Java Basics - Anfänger-Themen 2
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
C Ist gleichzeitiges Lesen und Schreiben einer ArrayList möglich Java Basics - Anfänger-Themen 2
J Fehler in schreiben einer Datenbank Java Basics - Anfänger-Themen 11
S Stackinhalt in einer Textdatei schreiben Java Basics - Anfänger-Themen 6
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
S Bot schreiben Java Basics - Anfänger-Themen 1
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
C XML Datei schreiben Java Basics - Anfänger-Themen 14
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
L x und y Koordinaten in ein Array schreiben Java Basics - Anfänger-Themen 7
J Programm schreiben Java Basics - Anfänger-Themen 5
G In Datei schreiben Java Basics - Anfänger-Themen 1
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
J Methode selber schreiben Java Basics - Anfänger-Themen 5
M Plateau Prgramm schreiben Java Basics - Anfänger-Themen 2
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
J String in Datei schreiben Java Basics - Anfänger-Themen 4
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
H projekt 1 code schöner schreiben. Java Basics - Anfänger-Themen 25
O findRoot Methode schreiben in einem Intervall Java Basics - Anfänger-Themen 31
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
X Arrays untereinander schreiben Java Basics - Anfänger-Themen 4
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
A Erste Schritte Bitte helfen sie mir diese Programm zu schreiben Java Basics - Anfänger-Themen 12
L Input/Output Konsole in Farben schreiben Java Basics - Anfänger-Themen 4
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
Y kann jemand die Terme mit Zahlen schreiben ?? Java Basics - Anfänger-Themen 4
L Input/Output In Farben schreiben Java Basics - Anfänger-Themen 3
x-tshainge In gespeicherter Datei schreiben? Java Basics - Anfänger-Themen 7
F Schreibprogramm nur markierten Text in kursiv oder fett schreiben Java Basics - Anfänger-Themen 3
A JSON Lesen und Schreiben. Java Basics - Anfänger-Themen 3
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
karlmasutra Ausgabe in ein Array schreiben Java Basics - Anfänger-Themen 14
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
R Input/Output Dateinamen aus Verzeichnis in Datei schreiben Java Basics - Anfänger-Themen 3
E Wert in Textfeld schreiben Java Basics - Anfänger-Themen 1
P Erste Schritte Schreiben in eine Datei Java Basics - Anfänger-Themen 9
M Java Roboter schreiben mit Eclipse Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
M Rekursion schreiben Java Basics - Anfänger-Themen 16
D Eine einfache Verschlüsselung schreiben Java Basics - Anfänger-Themen 3
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
G Java Objektorientiert schreiben Java Basics - Anfänger-Themen 1
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
N Lambda Ausdrücke richtig schreiben Java Basics - Anfänger-Themen 4
F Wert in Linux auf die Konsole schreiben Java Basics - Anfänger-Themen 3
A von ArrayList in Labels schreiben Java Basics - Anfänger-Themen 19
X Kann man post increment "vollständig schreiben"? Java Basics - Anfänger-Themen 13
T Klassen In Eingabefeld von externem Programm schreiben wenn angewählt. Java Basics - Anfänger-Themen 6
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
I Input/Output 3 Werte in Datei schreiben, duplikate vermeiden Java Basics - Anfänger-Themen 4
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
W Java in "Terminal" schreiben Java Basics - Anfänger-Themen 9
D Datentypen StringToFloat-Methode schreiben Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben