2017-12-02 16 views
1

의 ArrayList에 추가 : firstName과 이제 성자바, 파일에서 개체를 읽기와 나는 두 개의 인스턴스 변수로 클라이언트 클래스가

, 나는 텍스트 파일에서 이름을 읽을 수있는 다른 클래스가

존들은 SMI : 지금이 내가 main 메소드를 실행할 때 내가 갖는 것입니다

import java.io.*; 
import java.util.*; 

public class Arraylists 
{ 
    public static void main(String [] args) throws FileNotFoundException 
    { 

    List<Client> clients = new ArrayList<Client>(); 


    try 
    { 

    BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\...\\Desktop\\InputTest.txt")); 


    String fileRead = br.readLine(); 


      while (fileRead != null) 
      { 

       String[] tokenize = fileRead.split("\\n"); 

       String tempFirstName = tokenize[0]; 
       String tempSurname = tokenize[0]; 

       Client tempObj = new Client(tempFirstName, tempSurname); 

       clients.add(tempObj); 

       fileRead = br.readLine(); 
      } 


      br.close(); 
     } 


     catch (FileNotFoundException fnfe) 
     { 
      System.out.println("file not found"); 
     } 

     catch (IOException ioe) 
     { 
      ioe.printStackTrace(); 
     } 


     for (Client client : clients) 
     { 
      System.out.println(client); 
      System.out.println(); 
     } 

    } 

} 

:와 클라이언트의 ArrayList 여기

에 저장 코드의 존 스미스

마이크 골드만 마이크 골드만

엠마 스톤 엠마 스톤

내가 뭐하는 거지 무슨 잘못 토륨? 내 텍스트 파일은 위의 이름 목록 일 뿐이므로 첫 번째 이름과 성을 별도의 정보로 저장하여 인쇄 할 때 내 텍스트 문서의 모든 사람에게 firstName + 성을 인쇄합니다.

제안 사항이 있으십니까?

+0

글쎄 사실 당신이 이름과 성 모두에'tokenize [0]'을 사용하고 있다는 사실은 도움이되지 않습니다. 문제가 발생한 곳을 코드로 디버깅 해 봤니? 코드별로 한 줄씩 단계별로 진행하고 결과가 각 행에 무엇이 있는지주의 깊게 살펴보십시오. 어디에서 기대에 미치지 못합니까? –

+0

(힌트 : 단 한 줄로되어 있지만 줄 바꿈으로 나누려고합니다. 실제로 그걸 어떻게 나누겠습니까?) –

+0

고마워요! 내 아래 코드를 참조하십시오, 그것은 문제가 해결 된 것 같습니다 –

답변

0
String[] tokenize1 = fileRead.split("\\s+"); 
String tempFirstName = tokenize1[0]; 
String tempSurname = tokenize1[1];