unterschiedliche Dateiformate verarbeiten

Jesterhead

Mitglied
Hallo Leute,

kurze Erklärung:
Ich habe mehrere Dateien mit unterschiedlichen Formaten, die jedoch die selben Datenfelder enthalten. Vor der Verarbeitung definiere ich über einen Parameter, welches Format in der Datei zu erwarten ist.

Meine Idee war jetzt, die Verarbeitung in eine eigene Klasse auszulagern und die Datenfelder im weiteren Verlauf mit den Settermethoden abzufragen. Jede Klasse würde natürlich die selben Settermethoden haben. Für jedes Dateiformat eine eigene Klasse.

Allerdings habe ich ja dann im weiteren Programmverlauf Probleme diese Settermethoden (Klassenneutral) anzusprechen, da diese ja von unterschiedlichen Klassen kommen.

Kann ich das mit Interfaces realisieren? Oder würdet ihr das ganz anders machen?

Wäre super, wenn ihr einen Ideeninput gebt.

Vielen Dank!
Jester
 

tommysenf

Top Contributor
Hi,

wenn alle deine Formate die gleichen Datenfelder haben, dann ist ein Interface mit den entsprechenden getXXX Methoden Genua der richtige Ansatz.
 

Jesterhead

Mitglied
Sorry, ich meinte natürlich Gettermethoden.

Ich habe es zwar noch nicht probiert, aber ich kann doch dann nicht mit den Daten in einer Metode weiter arbeiten. Ein mal habe ich ja ein Objekt vom typ Klasse A und ein Mal ein Objekt von der Klasse B.

Oder geht das weil in den beiden Klassen das selbe Interface genutzt wird.

Sorry für die evtl triviale Frage. Aber ich habe bisher noch nie mit Interfaces gearbeitet.

Grüße
 

tommysenf

Top Contributor
Angenommen du hast das Interface Format und die beiden Klassen FormatA und FormatB, welche beide dieses Interface implementieren, dann an deine Auswertungsmethode eine List<Format> übergeben werden, mit welcher diese dann arbeitet, ob es dich dabei um FormatA oder FormatB Typen handelt kann ihr dabei egal sein, da alle erforderlichen Methoden in Format definiert sind.
 

Jesterhead

Mitglied
Das ist ja super einfach! So habe ich das noch gar nicht gesehen. Also einfach ein Objekt vom typ Format. Der kann letztendlich beide Klassen darstelle...

Vielen Dank für die Hilfe!!!
 

kaoZ

Top Contributor
oder, wenn du schon Implementierungen vorgeben möchtest , eine Abstrakte Basisklasse anstelle eines Interfaces. ;)

So kannst du Kernfunktionalität bereits in der Basisklasse implementieren.
 

Bug Fisher

Bekanntes Mitglied
Hier mal tommysenfs Vorschlag in beispielhafter Codeform.
Es handelt sich dabei um das StrategyPattern.

Java:
public interface DataGetter {
  public int getKey();
  public String[] getValues();
}

public class CSVReader implements DataGetter {}

public class URLReader implements DataGetter {}

...
 

Jesterhead

Mitglied
Also ich verwende jetzt die Version mit dem Interface. Das klappt ganz gut und gibt das her, was ich gesucht habe.

Vielen Dank für eure Hilfe und konstruktiven Vorschläge!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand Unterschiedliche jar Dateien zusammen führen Allgemeine Java-Themen 8
rosima26 Unterschiedliche Werte bei return/print Allgemeine Java-Themen 12
M Warum gibt es Unterschiedliche Kommentar Zeichen Allgemeine Java-Themen 15
Y Java Methoden unterschiedliche Zahlenreihen Allgemeine Java-Themen 2
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
P Berechnungen: unterschiedliche Rundungsfehler bei Long? Allgemeine Java-Themen 3
M Zwei unterschiedliche JAR Dateien mit ANT erstellen Allgemeine Java-Themen 8
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
A TXT File einlesen unterschiedliche Zeilenlänge Allgemeine Java-Themen 9
P Unterschiedliche Clone- Methoden Allgemeine Java-Themen 5
GianaSisters Klassen Unterschiedliche Zeiten bei DATE Allgemeine Java-Themen 6
G Input/Output URLDecoder.decode - Unterschiedliche Ergebnisse Windows / Linux Allgemeine Java-Themen 2
A md5 liefert unterschiedliche Testsummen? Allgemeine Java-Themen 4
M Unterschiedliche Java-Versionen Allgemeine Java-Themen 5
B hashtable für unterschiedliche Typen - mit Generics Allgemeine Java-Themen 8
S Zugriff auf unterschiedliche JREs Allgemeine Java-Themen 7
G Abstrakte Fabrik für unterschiedliche Signaturen? Allgemeine Java-Themen 7
L unterschiedliche Größe beim serialisieren eines Objektes! Allgemeine Java-Themen 6
W Unvollständige und unterschiedliche CharSets Allgemeine Java-Themen 3
L Unterschiedliche mails (Daten aus JTable) schicken Allgemeine Java-Themen 14
U Transparent Buttons - unterschiedliche Java-Versionen Allgemeine Java-Themen 8
M unterschiedliche Betriebssysteme abfangen Allgemeine Java-Themen 3
O Vorgehen um Dateiformate einzulesen Allgemeine Java-Themen 3
M Welche Dateiformate kann Java einlesen?? Allgemeine Java-Themen 26
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
K Große JSON-Dateien schnell und effizient verarbeiten Allgemeine Java-Themen 16
J Input/Output Word Datei einlesen, verarbeiten und abspeichern Allgemeine Java-Themen 3
F AWT Mehrere Tastatureingaben verarbeiten Allgemeine Java-Themen 5
agent47 JSON verarbeiten Allgemeine Java-Themen 4
G Threads Methode nebenbei ausführen, Status verarbeiten Allgemeine Java-Themen 4
J String verarbeiten und ausgeben Allgemeine Java-Themen 8
J Best Practice Java 8 Datei einlesen und verarbeiten Allgemeine Java-Themen 2
J cmd Imputstream verarbeiten Allgemeine Java-Themen 5
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
H RXTX String verarbeiten Allgemeine Java-Themen 1
S XML lesen, verarbeiten, speichern klappt in Eclipse, aber nicht in der JAR Allgemeine Java-Themen 4
S Kommandozeilenargumente in aufgerufenden Batchjobs verarbeiten Allgemeine Java-Themen 6
P Sinnfragen, um eine riesige Verzeichnisstruktur zu durchsuchen und zu verarbeiten Allgemeine Java-Themen 20
E Excel Datei weiter verarbeiten Allgemeine Java-Themen 4
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
M tar archive verarbeiten ohne zu entpacken Allgemeine Java-Themen 3
M HTML-Websiten verarbeiten Allgemeine Java-Themen 8
H Textdatei (1GB) einlesen und verarbeiten Allgemeine Java-Themen 15
W Datei auslesen und die Daten weiter verarbeiten Allgemeine Java-Themen 4
J Große Datei einlesen und gestückelt verarbeiten Allgemeine Java-Themen 4
N Serielle Schnittstelle / COM-Port auslesen und die empfangenen Daten verarbeiten Allgemeine Java-Themen 1
Q API zum Verarbeiten von HTML Allgemeine Java-Themen 4
Y Excel datei einlesen und inhalt verarbeiten Allgemeine Java-Themen 8
S Methode die Enums verarbeiten kann? Allgemeine Java-Themen 2
G Datei einlesen und in HashMap verarbeiten Allgemeine Java-Themen 3
D Inhalt eines Packages im Code verarbeiten Allgemeine Java-Themen 18
B Plaintext Integer einlesen und verarbeiten Allgemeine Java-Themen 3
C Mathefunktion zur Laufzeit einlesen und dann verarbeiten Allgemeine Java-Themen 13
Luma Daten ohne Blockierung des Hautprogramm verarbeiten Allgemeine Java-Themen 3
P Javaprogramm soll doppeltgeklickte Datei verarbeiten Allgemeine Java-Themen 22
C Variable aus einer Methode einlesen in einer verarbeiten und Allgemeine Java-Themen 6
V mouseClicked und mouseMoved gleichzeitig verarbeiten Allgemeine Java-Themen 14
P Programmm aufrufen und verarbeiten? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben