2015-02-04 3 views
-1

저는 csv 줄 단위로 읽습니다. csv 날짜 형식은 eg-27/04/2015 용이지만 내 Java 코드에서 같은 줄을 읽습니다. 04-2015. 누군가가 같은 제안을 해줄 수 있습니까? 다음은 당신이 각 line을 읽을 당신이로, 다음의 구분 값을 통해 분할 할 수 있습니다 일단자바에서 csv를 읽는 중 날짜 형식이 자동으로 변경됩니다.

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

당신이 날짜로 읽을하려고를 어떤 형식의 하루입니까?) 또는 형식이 지정된 텍스트? –

+0

코드주세요 ..... –

+0

여기에 * 거의 * 충분한 정보가 없습니다. 우리는 귀하가 어떤 코드를 사용하고 있는지, 또는 "그것이 그것을 읽었을 때"라는 의미를 모릅니다. 어떻게 말할 수 있습니까? 문제를 보여주는 짧지 만 완전한 프로그램을 보여줄 수 있습니까? –

답변

0

을 읽으려고하고, 내 코드 - 아래

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(); 
     } 

있는 라인입니다.

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 

dateInputjava.util.Date의 목적은 기억 그래서 어떠한 형식 없다. 그냥 데이트 일 뿐이야.
다른 형식으로 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 
} 
관련 문제