기본적으로 나는 몇 개의 슈퍼 클래스를 가지고 있으며, 작은 서브 클래스 중 하나는 작은 프로그램을 구성합니다. 파일 처리에 관해서는 "배열"을 사용하고 있었기 때문에 writeObject와 readObject 메서드를 사용했습니다. 그러나 이제는 모든 배열을 "ArrayLists"로 변경했습니다. 그러나 파일 처리와 관련하여 이전처럼 명확하게 작동하지 않습니다.Java에서 파일을 읽고 쓰는 것 (ArrayList를 사용하여)
내가 오류이 개 특정 부분이있다는 처음이다 :
for(i=0;i<100;i++)
{
customerOOS.writeObject(Customer[i]);//since we no longer have (Customer[]) array, and instead Custarray of arraylist
}
. . .
두 번째 부분은 :
for (i=0;i<100;i++)
{
Customer[i] = (Customer)customerOIS.readObject();//same problem again
}
그래서, 이러한 부품을 교체해야하는지, 그래서 그것은 작동합니다. 아니면 완전히 다른 방법으로 ArrayLists의 파일 처리를해야합니까?
감사합니다! 다시 두 번째 루프 (어떤 요소를 추가)에 대한 내 질문에, 루프 내에서 선언문에 선언 된 "i"는 어디에 사용합니까? –
필요가 없습니다. 'ArrayList'는 동적 배열입니다. 즉, 동적으로 배열 할 수 있습니다. [API 설명서] (http://docs.oracle.com/javase/7/docs/api/java/util/List.html)와 [Collections] (http : // docs. oracle.com/javase/tutorial/collections/index.html) 트레일, 특히 [The List Interface] (http://docs.oracle.com/javase/tutorial/collections/interfaces/list.html) – MadProgrammer
거기서 가정합니다. get (i) 부분이 잘못되어 실행하는 동안이 오류가 발생합니다. java.lang.IndexOutOfBoundsException : 인덱스 : 0, 파일 크기 : 0 java.util.ArrayList.RangeCheck에서 \t (ArrayList.java:547) java.util.ArrayList.get (ArrayList.java:322)에서 \t \t at FileHandling.main (FileHandling.java:39) –