2017-12-21 1 views
-4

Java CSV 리더 프로그램을 코딩하려고합니다. (지금까지 배운 것을 사용하여 저는 신참입니다.) 그러나 지금 내 코드가 무엇이 잘못되었는지 알지 못합니다. 데이터 시트는 간단합니다 :Java로 CSV Reader 프로그램을 코딩하는 법을 배우십시오.

my,name,is,Tan 
are,you,okay 
i,am,okay,— 

출력은 기본적으로 아무것도 표시되지 않았습니다. 하지만 내가 대시를 제거했을 때, 그것은 효과가있었습니다. 아래는 나의 코드입니다.

public static void main(String[] args) throws IOException{ 
    Scanner read = new Scanner(new File("List3.csv")); 
    while(read.hasNext()){//if the txt file has next line then continue 
     String line = read.nextLine(); 
     String[] lineArray = line.split(","); 
     // 
     for(int i = 0; i < lineArray.length; i++){ 
       System.out.print(lineArray[i] + " "); 
      } 
     } 
    } 

고맙습니다.

+1

대기. 오류가 무엇입니까? – Makoto

+0

및 무엇이 문제입니까? – johnII

+1

em-dash는 CSV에있을 수 있습니다. 단지 문자열입니다. –

답변

0

@ 탄 아래는 완벽하게 작동합니다. csv가 손상되지 않았고 올바른 위치에 있는지 확인하고 아래에서 설명한 것처럼 전체 경로를 언급하십시오.

package com.java; 

import java.io.File; 
import java.io.IOException; 
import java.util.Scanner; 

public class Test { 
public static void main(String[] args) throws IOException { 

    Scanner read = new Scanner(new File("C:\\Users\\abcdef\\Desktop\\list.csv")); 

    while (read.hasNext()) {// if the txt file has next line then continue 

     String line = read.nextLine(); 

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

     for (int i = 0; i < lineArray.length; i++) { 
      System.out.print(lineArray[i] + " "); 
     } 
    } 

    read.close(); 
} 
} 
+0

이것은 문제가되지 않습니다. OP **에서는 ** Em Dash **'-'가 제거 된 경우 코드가 작동한다는 것을 알려 주므로 파일을 찾는 것이 문제가되지 않습니다. 현재의 Scanner 객체 구조로 읽을 때 문제를 일으키는 것은 ** Em 대시 ** 유니 코드 문자입니다. – DevilsHnd

+0

고마워요, 쿠마. DevilsHnd는 코드가 내 버그를 수정 한 이후로 옳다고 생각합니다. – Tan