2015-02-04 3 views
-1

Я читаю csv по строке. В формате даты csv для eg-27/04/2015, но я прочитал ту же строку по моему java-коду, прочитал ее как 27- 04-2015. Возможно, кто-то предложит вам то же самое. Ниже мой код-Формат даты автоматически изменяется при чтении csv в java

try { 
      br = new BufferedReader(new FileReader(fileName)); 
      while ((line = br.readLine()) != null) { 
       temp = line;// Simply reading it not using any date format. 

       System.out.println("line="+line); 

      } 

     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 

Ниже линии, я пытаюсь читать

1/27/2015,B11100054,US_EOD,20141001_00_00_00,20141001_22_26_25,148.50915,147.68575 
+0

вы пытаетесь прочитать его в качестве даты (который составляет всего один день в любом формате) или текст (который отформатирован)? –

+0

Код пожалуйста ..... –

+0

Существует нет * почти * достаточно информации здесь. Мы не знаем, какой код вы используете, или что вы подразумеваете под словом «он читает его как» - как вы можете сказать? Вы можете показать короткую, но полную программу, демонстрирующую проблему? –

ответ

0

После того, как вы читаете каждый line, как вы это делаете, то вы можете разделить его через его значение разделителя.

String[] values = line.split(","); 

// if input format is "MM/dd/yyyy", you can read date: 
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date dateInput = df.parse(values[0]); // Here you have date stored 

dateInput Помните является объектом java.util.Date, поэтому он не имеет NO формата. Это просто дата.
Если вам нужна строка, содержащая dateInput в другом формате, просто отформатировать его с помощью SimpleDateFormat

df = new SimpleDateFormat("dd-MM-yyyy"); 
String dateStr = df.format(date); 

Затем вы можете перебрать все другие значения:

for (int i = 1; i < values.length; i++) { // Start from 1 because 0, date, is already read. 
    // read values[i], depending on its contents, or keep them as String 
} 
Смежные вопросы