OOP Mit RandomAccesFile auslesen und in Datei schreiben

L

Legionista

Gast
Java:
package silleraaron;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;





public class Controll implements ActionListener {
	
	View myMainView = new View();
	
	
	
	
	File whitelist = new File("I:\\eclipse\\MyProjects\\Whitelist.txt");
	File protkoll = new File("I:\\eclipse\\MyProjects\\protokoll.txt");
	
	String Eingabe;
	
	RandomAccessFile raf, raf2;
	
	

	public Controll() {
		myMainView.jSenden.addActionListener(this);

	
	}


	
	public void EinAusgabe() throws IOException
	{
		try {
		Eingabe = myMainView.jIpAdresse.getText();
		
	
		raf = new RandomAccessFile(Eingabe, "r");
		raf = new RandomAccessFile(whitelist, "rw");
		raf.close();
		
		
		} catch (FileNotFoundException e) {
			
			e.printStackTrace();
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getActionCommand().equals("Senden"))
				{
			
			try {
				EinAusgabe();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
				}
		
	}
	
	public static void main(String[] args)
	{
		new Controll();
	}

}


Guten Tag,

meine Aufgabe ist es mithilfe des RAF die Eingabe (in meinem Fall eine URL bzw. IP Adresse) eines Users auszulesen und in die Datei whitelist und protokoll zu schreiben. Leider klappt dies nicht ganz so einfach und da ich weiss das es recht simpel ist, ich trotzdem kurz vorm verzweifeln bin, wollte ich hie rum Rat bitten. Weiss jemand evtl. zu helfen?

Mit freundlichen Grüßen,

Legio
 

Timothy Truckle

Top Contributor
Mal Abgesehen davon, dass Du die Namenskonventionen nicht einhältst sieht dass doch schon ganz gut aus.
In Zeile 45 musst Du natürlich eine andere Variable für das zweite RAF anlegen, sonst hast Du ja nicht beide gleichzeitig in der Hand...
Dannach kannst Du dann die Bytes aus der einen Datei auslesen, und an die Andere anhängen. Näheres dazu liefert (wie fast immer) die API: [JAPI]RandomAccessFile[/JAPI].

bye
TT
 
L

Legionista

Gast
Java:
package silleraaron;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;





public class Controll implements ActionListener {
	
	View myMainView = new View();
	
	
	
	
	File whitelist = new File("I:\\eclipse\\MyProjects\\Whitelist.txt");
	File protkoll = new File("I:\\eclipse\\MyProjects\\protokoll.txt");
	
	String Eingabe,Eingabe2, Ausgabe, Ausgabe2;
	
	RandomAccessFile raf, raf2;
	
	

	public Controll() {
		myMainView.jSenden.addActionListener(this);

	
	}


	
	public void EinAusgabe() throws IOException
	{
		try {
		Eingabe = myMainView.jIpAdresse.getText();
		Eingabe2 = myMainView.jIpAdresse.getText();
		
	
		raf = new RandomAccessFile(Eingabe, "r");
		raf2 = new RandomAccessFile(Eingabe2, "r");
		
		raf.writeBytes(Ausgabe);
		raf2.writeBytes(Ausgabe2);
		
		raf.close();
		
		
		} catch (FileNotFoundException e) {
			
			e.printStackTrace();
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getActionCommand().equals("Senden"))
				{
			
			try {
				EinAusgabe();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
				}
		
	}
	
	public static void main(String[] args)
	{
		new Controll();
	}

}

Hallo,

danke für die Hilfe.

Ich verstehe das ich mit dem RAF die Bytes aus dem String auslese und dann in einen anderen String reinschreibe. Hierbei ist jedoch für mich jetzt das Problem diesen String in die Datei reinzuschreiben, die von meinem File whitelist erstellt werden soll, hinzukriegen.

Es kann natürlich sein das mein Verständnis im Umgang mit den JavaDocs nicht ausgereift ist, aber irgendwie komme ich nciht drauf.
 

Timothy Truckle

Top Contributor
Ich verstehe das ich mit dem RAF die Bytes aus dem String auslese und dann in einen anderen String reinschreibe.
Nein. Du liest/schreibst mit dem RAF den Inhalt einer Datei. Den kann man als String interpretieren, es könnte aber auch irgend ein beliebiger Birärcode sein.

Hierbei ist jedoch für mich jetzt das Problem diesen String in die Datei reinzuschreiben,
Daszu must Du den String in eine Folge von Bytes umwandeln. Glücklicher Weise kennt String die Methode
Code:
getBytes()
.

Hinweis am Rande: Ein RAF dafür zu nutzen ist eine ziemlich undankbare Aufgabenstellung, weil man sich 'ne menge Gedanken darüber machen muss, wass auf der Festplatte mit so einer Datei passiert, wenn man darauf rumschreibt. Da kommt's schnell zu Datenverlusten...

bye
TT
 
L

Legionista

Gast
Java:
Eingabe = myMainView.jIpAdresse.getText();
		Eingabe2 = myMainView.jIpAdresse.getText();
		
		Eingabe.getBytes();
		Eingabe2.getBytes();
		
		raf = new RandomAccessFile(Eingabe, "r");
		raf2 = new RandomAccessFile(Eingabe2, "r");
		
		raf.writeBytes(Ausgabe);
		raf2.writeBytes(Ausgabe2);

Hallo,

vielen Dank nochmals.

Ich stehe irgendwie momentan total auf dem Schlauch. Ich verstehe also das ich mit
Java:
Eingabe.getBytes();
den Inhalt des Strings in eine Datei umwandeln kann und um diese wiederum irgendwie wieder schreiben zu können, benutze ich
Java:
raf.writeBytes
. Nur diese Brücke hin zu meiner Textdatei zu machen ist für mich momentan wie Bahnhof. Kann mir da jemand noch irgendwie nen Rat geben?
 
L

Legionista

Gast
Hallo,

habe einen Fehler gefunden. Jedoch zeigt mir das Programm immer noch eine weitere Fehlermeldung an.

Zunächst meine überarbeitung:

Java:
Eingabe = myMainView.jIpAdresse.getText();
				Eingabe2 = myMainView.jIpAdresse.getText();
				

				raf = new RandomAccessFile(Eingabe, "r");
				raf2 = new RandomAccessFile(Eingabe2, "r");
				
				raf.writeBytes(whitelist + "\r\n");
				raf2.writeBytes(protkoll + "\r\n");

Hier die Fehlermeldung:

Java:
java.io.FileNotFoundException: w (Das System kann die angegebene Datei nicht finden)
	at java.io.RandomAccessFile.open(Native Method)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at silleraaron.Controll.actionPerformed(Controll.java:49)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
 

Timothy Truckle

Top Contributor
Hast Du denn die Aufgabe überhaupt schon mal strukturiert, also mal aufgeschrieben, was in welcher Reihenfolge gemacht werden muss (mal ganz unabhängig von der zu verwendenen Syntax)?

Wennn Dir erstmal der Alauf klar ist können wir besser über die programmatischen Umsetzung reden.

bye
TT
 

Ullenboom

Bekanntes Mitglied
Tipp: Klar geht RAF für Textdateien, doch ich würde empfehlen, sich vom RAF zu lösen und insbesondere für Textdateien Scanner (lesen) und Formatter (schreiben) zu nutzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H RandomAccesFile zweite Zeile schreiben Java Basics - Anfänger-Themen 4
J Arrayliste in RandomAccesFile speichern Java Basics - Anfänger-Themen 7
A Buchstaben auslesen lassen vom Scanner Java Basics - Anfänger-Themen 18
richis-fragen JComboBox ist editable und eingegebenen Text auslesen bei focusLost() Java Basics - Anfänger-Themen 1
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
J Json Datei auslesen Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
S CSV Datei auslesen und anders darstellen Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N JTable auslesen Java Basics - Anfänger-Themen 6
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
D XML von Seite auslesen Jsoup Java Basics - Anfänger-Themen 2
I Druckerauflösung auslesen - mittlerweile möglich? Java Basics - Anfänger-Themen 4
B WSDL auslesen? Java Basics - Anfänger-Themen 8
D Methoden Textdokument erstellen und auslesen. Java Basics - Anfänger-Themen 46
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
S CSV auslesen UTF-8 Problem Java Basics - Anfänger-Themen 7
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
K String buchstaben auslesen Java Basics - Anfänger-Themen 9
S Amazon Produktbeschreibung auslesen und nach Keywords suchen Java Basics - Anfänger-Themen 2
x-tshainge Interface Wie kann ich aus Textfeldern auslesen Java Basics - Anfänger-Themen 6
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
T Website auslesen Java Basics - Anfänger-Themen 2
T String auslesen bzw. überprüfen Java Basics - Anfänger-Themen 1
L CSV Auslesen Java Basics - Anfänger-Themen 5
B Auslesen von PDF / Bilder Java Basics - Anfänger-Themen 5
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
F Zwischenwerte aus Browser auslesen Java Basics - Anfänger-Themen 19
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
D String erste Zahl mit LKZ auslesen lassen Java Basics - Anfänger-Themen 36
J Hashmap auslesen Java Basics - Anfänger-Themen 7
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
D String untereinander auslesen lassen Java Basics - Anfänger-Themen 2
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
J Informationen aus Webseiten auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
dragonfight86 Erste Schritte OpenDocument auslesen Java Basics - Anfänger-Themen 13
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
C Werte aus JTable auslesen Java Basics - Anfänger-Themen 4
Chrizzey45 Calc-Dokument in Java auslesen? Java Basics - Anfänger-Themen 2
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
M Textarea auslesen und beschreiben Java Basics - Anfänger-Themen 8
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
Y Bildschirmauflösung auslesen Java Basics - Anfänger-Themen 4
S for schleife auslesen Java Basics - Anfänger-Themen 4
Voreck String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 9
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
N JFreeChart --> TimeSeries auslesen Java Basics - Anfänger-Themen 9
OlafHD Datei Auslesen Java Basics - Anfänger-Themen 6
M Metadaten OpenOffice mit Java auslesen Java Basics - Anfänger-Themen 9
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
J OpenOffice Dokumentenvariable mit Java auslesen Java Basics - Anfänger-Themen 1
P Daten von Internetseite auslesen Java Basics - Anfänger-Themen 10
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
T Combobox Wert auslesen und damit weiterrechnen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben