2014-04-11 2 views
2

다음 속성을 가진 노드가 포함 된 LinkedList가 있습니다. (int, String, String, String, double) 및 모든 정보를 포함하는 파일에 목록의 모든 노드를 쓰려고합니다. 지금까지 나는 다음을 가지고있다.다양한 유형의 노드를 파일로 작성

try (BufferedWriter br = new BufferedWriter(new FileWriter(file))) { 
      for (int i = 0; i <= list.size(); i++){ 
       br.write(list.get(i)); //this line is the one in question 
       br.newLine(); 
      } 

     } catch (IOException e) { 
      System.out.println("Unable to read file " + file.toString()); 
     }//end catch 

그러나 노드를 파일로 바꾸는 방법을 모른다. 나는 모든 것을 String으로 캐스팅하려고 시도했지만 에러가 발생한다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 도와주세요!

답변

1

노드 클래스에 toString()을 구현해야합니다.

public class Node{ 
    //.... 


    int foo; 
    String bar, qoo, yar; 
    double baz; 

    public String toString(){ 
     //print out your fields here. 
    }  


    //.... 

} 

그리고 당신의 쓰기에 전화 : 의미가

br.write(list.get(i).toString()); //this line is the one in question 
+0

아 확인. 하지만 이미 내 노드 클래스의 toString을 모든 필드가있는 사용자 정의 된 디스플레이를 출력하므로 표시가 파일에 추가 될 것입니다. – user3524177

+0

@ user3524177 예. – nook

+0

그래서 내 유일한 문제는 나중에 노드에서 파일을 다시 목록으로 읽어 들이고 노드를 변경한다는 것입니다. 2 개의 toString을 가질 수는 없습니까? – user3524177

관련 문제