2014-12-03 3 views
0

Я читаю данные штампа времени из файла, и эти метки времени я буду использовать, чтобы использовать их позже в Timer scheduler, чтобы запустить некоторые события на основе временных меток. формат временной метки - это что-то вроде этого 0.012999999999, и они имеют тип string, и я использовал Long.parseLong, чтобы преобразовать его в long. Я попробовал приведенный ниже код, но во время выполнения я получаю нижеприведенные ошибки, мне кажется, речь идет о формировании штампа времени, но я не знаю, как его обрабатывать.Ошибка чтения метки времени в задаче таймера

код:

static TimerTask timedTask = new TimerTask() { 

    @Override 
    public void run() { 
     // TODO Auto-generated method stub 

    } 
}; 

Timer timer = new Timer(); 
    timer.schedule(timedTask, Long.parseLong(logfile.getFileHash().get(1).getTimeStamp())); 

ошибки:

Exception in thread "file processing" java.lang.NumberFormatException: For input string: 
"0.012999999999" 
at java.lang.NumberFormatException.forInputString(Unknown Source) 
at java.lang.Long.parseLong(Unknown Source) 
at java.lang.Long.parseLong(Unknown Source) 
at com.example.File_IO_00.File_IO.processFile(File_IO.java:77) 
at com.example.File_IO_00.File_IO.access$1(File_IO.java:69) 
at com.example.File_IO_00.File_IO$1.run(File_IO.java:20) 
at java.lang.Thread.run(Unknown Source) 
+0

где формат штампа времени от –

ответ

0

Long представляет собой целочисленный тип, т.е. +0,012999999999 не является допустимым значением. вы должны использовать вместо этого Float.parseFloat() или Double.parseDouble().

+0

ok, но теперь задача таймера taks Длительный параметр как второй аргумент? – user2121

+0

Вы можете округлить его до значения Long, используя 'Math.round (Double.parseDouble (..))'. Однако это скорее всего не то, что вы хотите, так как это даст вам 0 для строки, которую вы предоставили. Скорее всего, строка timestamp находится в секундах, Timer берет значение в миллисекундах, поэтому вы можете преобразовать его с помощью 'Math.round (1000 * Double.parseDouble (..))'. – Petter

Смежные вопросы