Daten in Array als INT-Wert einlesen - jetzt als csv Datei

schranze

Mitglied
Hallo, ich habe bislang als Datenlieferant ein File das so aussah:

"
Stock Code
Stock Description
500
540
29
"

mit dem folgenden Code geht das auch sehr gut - keine Frage!

Java:
import java.io.* ;

public class HexusProb {
/*Declare arrays, ten is arbitrary value */
static String[] StockCode = new String[10] ;
static String[] StockDesc = new String[10] ;
static int[] CurrentLevel = new int[10] ;
static int[] ReorderLevel = new int[10] ;
static float[] Price = new float[10] ;

public static void main(String[] args) {

try {

BufferedReader fileIn =
new BufferedReader(new FileReader(args[0]));

int count = 0 ;

String in = fileIn.readLine() ;
while(in!=null) {

StockCode[count] = in ;
StockDesc[count] = fileIn.readLine() ;
CurrentLevel[count] = Integer.parseInt(fileIn.readLine()) ;
ReorderLevel[count] = Integer.parseInt(fileIn.readLine()) ;
Price[count] = Float.parseFloat(fileIn.readLine()) ;
in = fileIn.readLine() ;
count++ ; /* increment counter */
} /* End of while */

} catch(IOException ioe) {
ioe.printStackTrace() ;
}

displayRecords() ;
System.exit(0) ;

} /* End of main */

/* This prints out the arrays to the console */
public static void displayRecords() {

for (int i = 0 ; i <= (StockCode.length-1) ; i++) {

if(StockCode[i]==null)
return ; /* end of useful data */

System.out.print("\t"+StockCode[i]);
System.out.print("\t\t"+StockDesc[i]);
System.out.print("\t\t"+CurrentLevel[i]);
System.out.print("\t\t"+ReorderLevel[i]);
System.out.print("\t\t"+Price[i]);

}

}
}

jetzt wird das System aber so umgestellt, dass die Daten mit Komma getrennt sind also so z.B.

"
Stock Code, Stock Description, 500, 540, 29
Stock Code, Stock Description, 520, 580, 31
"

ich schaffe es nicht das mit line.split(",") abzuändern - sollte doch möglich sein?

mir geht es darum das es als string und integer werte gelesen werden kann

Danke für die Hilfe!
 

Crasher

Mitglied
Hi,

wenn ich dich korrekt verstanden habe, möchtest Du aus deinen vorhandenen Variablen eine Zeile erstellen, die deine Variablen zusammenführt, durch Kommas trennt und die du mit der Mehtode split() später wieder aufsplitten kannst!?
Das würde dann ungefähr so aussehen:

Java:
  /* This prints out the arrays to the console */
  public static void displayRecords() {
    for (int i = 0 ; i <= (StockCode.length-1) ; i++) {
      if(StockCode[i]==null)
        return ; /* end of useful data */

      //Die Variablen zusammenführen:
      String commaLine = StockCode[i] + "," + StockDesc[i] + "," + CurrentLevel[i] + "," + ReorderLevel[i] + "," + Price[i];

      //Wieder aufsplitted:
      String[] splittedLine = commaLine.split(",");
      /*
      spliitedLine[0] ist dann StockCode[i]
      spliitedLine[1] ist dann StockDesc[i]
      ...
      */
    }
  }

Aber wenn Du dies nur versuchst um deine Integer Variable als String zu verarbeiten, kannst Du das auch leichter haben:
Java:
Integer.toString(ReorderLevel[i])

Greetz
Crasher
 

schranze

Mitglied
die Ausgabe auf der Konsole ist nur um zu sehen, ob die Daten richtig eingelesen wurden ;)

oben der Code liest ein File ein, was die Daten Zeilenweise auseinander getrennt drin stehen hatte

jetzt liegt mir ein File vor, wo die Daten immer in einer Zeile getrennt durch Komma stehen - das versuche ich gerade richtig einzulesen - ich bekomme es nur nicht hin - am Ende will ich das wie oben im Bsp. auf der Konsole ausgeben können / die Daten anders weiter verwenden können - da brauch ich die Integer und Float-Werte

Danke für die Hilfe!
 

ARadauer

Top Contributor
weil heute so ein schöner Tag ist ;-)

Java:
String in = fileIn.readLine();
         while (in != null) {
            String[] parts = in.split(", ");

            StockCode[count] = parts[0];
            StockDesc[count] = parts[1];
            CurrentLevel[count] = Integer.parseInt(parts[2]);
            ReorderLevel[count] = Integer.parseInt(parts[3]);
            Price[count] = Float.parseFloat(parts[4]);
            in = fileIn.readLine();
            count++; /* increment counter */
         } /* End of while */

noch eine Anmerkung

static String[] StockCode = new String[10] ;
static String[] StockDesc = new String[10] ;
static int[] CurrentLevel = new int[10] ;
static int[] ReorderLevel = new int[10] ;
static float[] Price = new float[10] ;


ist nicht sehr objektorientiert... es wäre schöner, wenn du dir eine Klasse machst die diese 5 Eigenschafte besitzt und dann eine Liste hast die einfach Objekte dieser Klasse beinhaltet...
 

schranze

Mitglied
weil heute so ein schöner Tag ist ;-)


noch eine Anmerkung

static String[] StockCode = new String[10] ;
static String[] StockDesc = new String[10] ;
static int[] CurrentLevel = new int[10] ;
static int[] ReorderLevel = new int[10] ;
static float[] Price = new float[10] ;


ist nicht sehr objektorientiert... es wäre schöner, wenn du dir eine Klasse machst die diese 5 Eigenschafte besitzt und dann eine Liste hast die einfach Objekte dieser Klasse beinhaltet...

Erstmal Danke für den genialen Tipp. Es funktioniert. :applaus:

Die Anmerkung ist auch richtig. Da muss ich mich in das Thema wieder einfuchsen. Warum ich das unbedingt als static damals deklariert hatte, weiß nicht nicht mehr. Anzahl 10 ist auch hinfällig. Liste ist wesentlich länger jetzt. Hatte da den Fehler "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10"

Wie war das mit variabel gestalten? Wenn ich mich irgendwie noch entsinnen kann, war glaube das damals mein Problem und hab das über static gemacht. Sinnvoller ist jedenfalls das Ding objektorientiert zu gestalten.
 

schranze

Mitglied
Wie war das mit variabel gestalten? Wenn ich mich irgendwie noch entsinnen kann, war glaube das damals mein Problem und hab das über static gemacht. Sinnvoller ist jedenfalls das Ding objektorientiert zu gestalten.

Ich war lange nicht mehr mit der Thematik beschäftigt. Hab jetzt ein Tag lang verbracht das Array dynamisch hin zu bekommen und das schön sauber Objekt orientiert zu gestalten.

Mein Fehlermeldung war das immer: "Cannot make a static reference to the non-static field java"

Hab doch glatt vergessen das Arrays in Java nur statisch gehen :autsch:

Ich sollte jetzt mal den Versuch über ArrayList machen. Ich hoffe mal ich komme da zum gewünschten Erfolg.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Array Daten anhängen Allgemeine Java-Themen 10
K daten in bestehenden array hinzufügen Allgemeine Java-Themen 7
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
OnDemand PC identifizieren / Daten auslesen Allgemeine Java-Themen 15
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
J Maven .war enthält veraltete Daten Allgemeine Java-Themen 3
N Daten aus Jar laden Allgemeine Java-Themen 10
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
K Input/Output Daten speichern / laden Allgemeine Java-Themen 2
M Best Practice: Daten aufnehmen-speichern-bereitstellen Allgemeine Java-Themen 8
T Daten effizient verwalten Allgemeine Java-Themen 4
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
R Daten aus DB auslesen in ein formular (JSP) Allgemeine Java-Themen 13
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
H OOP Daten über TCP Allgemeine Java-Themen 5
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
D Daten eines User auslesen. Allgemeine Java-Themen 5
B Input/Output Einbinden von Daten in Java Allgemeine Java-Themen 3
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
ARadauer Wo liegen die Daten der Preferences Klasse Allgemeine Java-Themen 3
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
F Threads synchronisierung des Zugriffes auf daten Allgemeine Java-Themen 4
O Amazon S3 Anmelden / Daten downloaden Allgemeine Java-Themen 2
A Daten aufbereiten Allgemeine Java-Themen 11
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
L Speichern von Daten in JKS Allgemeine Java-Themen 5
K JFreeCharts - Dummy für fehlende Daten Allgemeine Java-Themen 6
M Daten aus doc, pdf .... auslesen Allgemeine Java-Themen 12
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
A Login-Daten Formular automatisch ausfüllen Allgemeine Java-Themen 10
C Daten speichern und verwalten Allgemeine Java-Themen 3
Z Daten aus einer Internetseite auslesen? Allgemeine Java-Themen 2
E BlueJ Daten in Textdatei schreiben Allgemeine Java-Themen 21
T Gleichzeitige Zugriffe auf Daten auf dem Server Allgemeine Java-Themen 11
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
K Server Daten Visualisieren Allgemeine Java-Themen 3
F HashMap überschreibt Daten von anderen HashMap Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben