2017-05-04 11 views
0

나는 그것은 내 LinkedList의 내용을 인쇄하지 않았다쓰기 LinkedList의 쓰레기

try { 
     FileOutputStream out = new FileOutputStream("ValidMovesMatrix.txt"); 
     ObjectOutputStream oout = new ObjectOutputStream(out); 
     oout.writeObject("--+ This will show all the VALID moves A* algorithm has taken to come up with the solution +---"); 
     oout.writeObject(" "); 
     for (int matrixIdx = 0; matrixIdx < matrixStack.size(); matrixIdx++) { 
      Object matrixShow = matrixStack.get(matrixIdx); 
      oout.writeObject(matrixShow); 
     } 
     oout.close(); 
    } catch (Exception ex) { 
     System.out.println("Output error"); 
    } 

텍스트 파일로 내 LinkedList의 내용을 작성하는 것을 시도하고 출력 오류를 얻고있다 직렬화 된 바이트 코드 포맷

¬í t _--+ This will show all the VALID moves A* algorithm has taken to come up with the solution +---t {sr java.io.NotSerializableException(Vx ç†5 xr java.io.ObjectStreamExceptiondÃäk9ûß xr java.io.IOExceptionl€sde%ð« xr java.lang.ExceptionÐý>;Ä xr java.lang.ThrowableÕÆ5'9w¸Ë L causet Ljava/lang/Throwable;L 
detailMessaget Ljava/lang/String;[ 
stackTracet [Ljava/lang/StackTraceElement;L suppressedExceptionst Ljava/util/List;xpq ~ t MapStateur [Ljava.lang.StackTraceElement;F*<<ý"9 xp sr java.lang.StackTraceElementa Åš&6Ý… I 
lineNumberL declaringClassq ~ L fileNameq ~ L 
methodNameq ~ xpÿÿÿÿt java.io.ObjectOutputStreampt writeObject0sq ~ 
ÿÿÿÿq ~ pt writeObjectsq ~ 
    bt 
AlgoSolvert AlgoSolver.javat backtrackMovessq ~ 
    'q ~ q ~ t searchsq ~ 
    t 
ProjectOnet ProjectOne.javat 
acceptArgssq ~ 
    q ~ q ~ t mainsr &java.util.Collections$UnmodifiableListü%1µìŽ L listq ~ xr ,java.util.Collections$UnmodifiableCollectionB €Ë^÷ L ct Ljava/util/Collection;xpsr java.util.ArrayListxÒ™Ça I sizexp w xq ~ $x 
+1

당신은 클래스를 직렬화 가능하게 만들거나 인쇄 할 수 있도록 코드를 직접 작성해야합니다. 실제로 메모리를 덤프합니다. –

+0

어떻게해야합니까? – wazzza

답변

0

ObjectOutputStream의 권리 오브젝트 나중에 재판 독 될 수있다 : 상기 출력 텍스트 파일은 다음과 같은 쓰레기를 함유 하였다. 텍스트 출력을 원하면 PrintStream 또는 PrintWriter를 사용하고 Matrix.toString()을 구현하여 각 Matrix를 형식화 된 텍스트로 작성하십시오.

+0

나에게 로프를 보여 주시겠습니까? – wazzza

+0

@wazzza 당신은 [toString() 메소드에 대한 또 다른 QA]의 설명을 읽을 수 있습니다. (http://stackoverflow.com/a/3615757/4648586). –