So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an Dr-Ing-Singer.

Dr-Ing-Singer
Dr-Ing-Singer, Dr. -Ing.
Kategorie: Allgemein
Zufriedene Kunden: 49
Erfahrung:  Master of Engineering and Computer Science und Diplomingenieur der Luft- und Raumfahrttechnik
61769379
Geben Sie Ihre Frage in der Kategorie Programmierung hier ein
Dr-Ing-Singer ist jetzt online.

Hallo, mein Kollege Udo Baumgardt hat mich auf diese Seite

Kundenfrage

Hallo, mein Kollege Udo Baumgardt hat mich auf diese Seite aufmerksam gemacht.
Wir haben folgendes Problem.
Wir müssen aus einer CSV-Datei, in die fortlaufend neue Datenreihen geschrieben werden, jeweils die letzten, aktuellen 5 Reihen auslesen können. Dabei sollen die Daten auf der Standardausgabe ausgegeben und von einer weiteren Klasse als double/int verwendet werden können. Mir liegt eine Klasse vor, dass genau das leisten soll. Wenn ich es jedoch ausführe, gibt es mir lediglich 0.00 aus (catch). Hier die entsprechende Klasse:

package singlejartest;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

import com.dukascopy.api.*;

/**
* This is strategy sample, which demonstrates CSV file parsing.
* When strategy starts, it takes file by a given path and parses it. It looks in
* each line and search for second occurrence of "," symbol. It takes all characters
* to the left from "," symbol till space symbol accrues. Converts value to Double
* and stores it in Array. After that it takes all gathered values prints out on console.
*
**/

/*
* When strategy loader sees this annotation for strategy class it asks user if he wants
* to allow the strategy full access. If such acceptance receives strategy classes, they
* are loaded with full access policy allowing to read/write any files, use sockets etc.
* Always try to avoid using this annotation, if only need to read/write to file - you
* have full access to "~/My Documents/My Strategies/files" folder. In this folder you
* can read or write any file without requesting the full access.
*
* Because "~\My Documents\My Strategies\files" folder dosen't requires any additional access.
* In this case you should put your files in directory similar to this on
* "C:\Documents and Settings\john.smith\My Documents\My Strategies\files".
* Thus there is no needs to use @RequiresFullAccess annotation. *
*/
@RequiresFullAccess
public class GetCSVData implements IStrategy {

private IConsole console;

public void onStart(IContext context) throws JFException {
this.console = context.getConsole();

//putting out all data to console
try {
//Iterating thru parsed array
for(Double d : parse("C:/log.csv")){
this.console.getOut().println(d);

}
} catch (Exception e) {
this.console.getErr().println(e.getMessage());
}

}

public void onAccount(IAccount account) throws JFException {
}

public void onMessage(IMessage message) throws JFException {
}

public void onStop() throws JFException {
}

public void onTick(Instrument instrument, ITick tick) throws JFException {

}

public void print(String string) {
this.console.getOut().println(string);
}

public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
}

/**
* Takes StringTokenizer as input and returns second token
* If token dosen't exists return String "0"
*
* @param StringTokenizer st
* @return String token
*/
private static String secondToken(StringTokenizer st){
try{
st.nextToken();
return st.nextToken();
}catch (NoSuchElementException nsee){
//if in token String is no token symbols
//we just return 0
return "0";
}
}

/**
* Parse file by given path in directory tree. Takes from file each strokes
* second token and place it as Double into ArrayList
*
* @param path - file path
* @return ArrayList of Doubles
* @throws IOException
*/
private static List parse(String filePath) throws IOException{

String path = filePath;

List prices = new ArrayList();
File file = new File(path);

BufferedReader bufRdr = new BufferedReader(new FileReader(file));
String line = null;

//read each line of text file
while((line = bufRdr.readLine()) != null)
{
StringTokenizer st = new StringTokenizer(line,",");

//get token and store it as Double in the array
prices.add(Double.valueOf(secondToken(st)));

}
//close the file
bufRdr.close();

return prices;
}
}


Hilfe dringend erbeten ;-)

Gruss
Stephan Feldhoff
Gepostet: vor 5 Jahren.
Kategorie: Programmierung
Experte:  Dr-Ing-Singer hat geantwortet vor 5 Jahren.
Sehr geehrter Ratsuchender,

ich habe die Vermutung, dass die log.csv Datei entweder Leerzeilen in den letzten 5 aktiven Zeilen aufweist, Leerstellen zu Beginn der Zeilen oder dass "st" entweder nicht richtig deklariert oder gar nicht erst beschrieben wird. Um das Problem zu lösen bitte verwenden Sie das Überwachungsfenster und überprüfen Sie die Funktionalität Ihrer Klasse Zeile für Zeile.

Mit freundlichen Grüßen,
Csaba Singer
Experte:  Dr-Ing-Singer hat geantwortet vor 5 Jahren.

Sehr geehrter Ratsuchender,

 

Ich hoffe Ihnen mit meinen Ausführungen weitergeholfen zu haben. Soweit Sie keine weiteren Nachfragen haben, bitte ich höflich meine Antwort zu akzeptieren indem Sie auf das grüne Feld "Akzeptieren" klicken.

 

Mit freundlichen Grüßen,

 

Csaba Singer

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
< Zurück | Weiter >
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
  • Vielen Dank für die schnelle und gute Beratung. Sie haben uns gut weitergeholfen. Wir kommen gerne wieder auf Sie zu. Birgit H. Kempten
  • Hervorragende und außerordentlich liebenswürdige Hilfe! Ich werde bei Bedarf bestimmt wieder auf JustAnswer zurückgreifen und bin sehr dankbar, dass es so etwas gibt! Dr. Gert Richter Verl
  • Danke für die schnelle Hilfe. Sehr schön, auch an einem Sonnabend ist jemand zu erreichen. Janine Gaus Bielfeld
  • Für mich persönlich war die Antwort sehr hilfreich. Vielen Dank an den Experten! Daniela H. Dortmund
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • RASchiessl

    RASchiessl

    Rechtsanwalt

    Zufriedene Kunden:

    9756
    Vertragsanwalt des Bayerischen Wohnungs- und Grundeigentümerverbandes Regensburg
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/CH/chiessl/2015-7-17_7493_resizedimage.64x64.jpg Avatar von RASchiessl

    RASchiessl

    Rechtsanwalt

    Zufriedene Kunden:

    9756
    Vertragsanwalt des Bayerischen Wohnungs- und Grundeigentümerverbandes Regensburg
  • http://ww2.justanswer.com/uploads/RE/rechtso/2011-4-16_115947_P10100052.64x64.JPG Avatar von ra-huettemann

    ra-huettemann

    Rechtsanwalt

    Zufriedene Kunden:

    11688
    Staatsexamen Zulassung als Rechtsanwalt
  • http://ww2.justanswer.com/uploads/raschwerin/2009-12-08_112115_RA_Steffan_-_neu_Large.jpg Avatar von raschwerin

    raschwerin

    Rechtsanwalt

    Zufriedene Kunden:

    8548
    Rechtsanwalt
  • http://ww2.justanswer.com/uploads/TR/troesemeier/2012-8-30_105621_IMG4178.64x64.JPG Avatar von Tobias Rösemeier

    Tobias Rösemeier

    Rechtsanwalt

    Zufriedene Kunden:

    7167
    seit 1995 als selbständiger Rechsanwalt tätig.
  • http://ww2.justanswer.com/uploads/PR/Prof.Nettelmann/2012-4-12_9146_Prof.AchimNettelmann2.64x64.jpg Avatar von Prof.Nettelmann

    Prof.Nettelmann

    Steuerberater

    Zufriedene Kunden:

    3748
    HochschullehrerSteuerberaterDipl.-Kfm.
  • http://ww2.justanswer.com/uploads/SC/schraubendreher/2012-9-27_152628_1.64x64.jpg Avatar von Schraubendreher

    Schraubendreher

    Kfz-Mechaniker

    Zufriedene Kunden:

    2174
    abg. Ausbildung. Freie Werkstatt. Typen offen. Diganose aller Fabrikate, besonders BMW
 
 
 

Ähnliche Fragen in der Kategorie Programmierung