2014-11-30 3 views
0

배열에 대한 내 자신의 정렬 방법을 만들어야하고 텍스트 파일을 단어로 채워진 배열로 분할하기 시작합니다. 파일 형식은 정수 n 다음에 n 단어가옵니다.문자열을 나눌 때 Null

다음은 예입니다 : 네 안녕하세요 안녕하세요 안녕하세요

하지만, 내 배열 인쇄 : [null4, 안녕하세요, 안녕하세요, 세계, 안녕하세요]

왜! 나는 왜 전에 null이 있는지 이해하지 못한다. 그리고 번호 4 (현재 내 프로그램에서 아무런 역할을하지 않음)를 제거하면 다음과 같이 표시됩니다. [nullhello, 안녕하세요, 세계, 안녕하세요]

이 null을 삭제하도록 도와주세요. 미리 감사드립니다!

public static void main(String[] args) throws FileNotFoundException { 
    filePath = "***TEXT FILE HERE***"; 

    fileInput = new Scanner(new File(filePath)); 
    convertFile(fileInput); 
} 

public static void convertFile(Scanner file) { 

    String line; 

    while (fileInput.hasNextLine()) { 
     line = fileInput.nextLine(); 
     fileData = fileData + line; 
    } 

    String[] array = createArray(fileData); 
    System.out.println(Arrays.toString(array)); 
} 

public static String[] createArray(String data) { 
    String[] dataArray = data.split("\\s+"); 

    return dataArray; 
} 

답변

1

변수를 사용하기 전에 fileData 변수를 초기화하지 않았습니다.

이가 ... 더 큰 문자열에 대한 StringBuilder에

StringBuilder fileData = new StringBuilder(); // to instantiate 
fileData.append(line + "\n"); // to add lines 
String finalString = fileData.toString(); // to build the string 

와 연결의 당신의 방법을 대체 할 시도하는 캐릭터 라인을 구축하기위한 최선의 choise하지

fileData = ""; 
+0

당신은 CHAMP입니다! 이제는 잘 작동합니다. 고마워요! – Braulio

+0

효과가 있다면 왼쪽의 체크를 눌러 대답을 수락하십시오. – limbenjamin

0
fileData = fileData + line; 

시도 매우 천천히됩니다.

관련 문제