Problema com arrays Arrays

2 respostas
D

Ola pessoal…gostaria de uma ajudinha de vcs…to com um probleminha…

eu tenho que ler tres arquivos (txt)…armazernar as informações em um objeto serailizável(java.util.ArrayList)…e trasnmitir isso via socket…para gravar tais informações no banco de dados…
para cada arquivo A,B,C…eu criei uma classe…(classe A, B e classe C , todas serializaveis…) para gravar os dados no banco.

entao eu terei um array de objetos com referencias para cada tipo de classe que eu crei…:

A[] a = new A[?];
B[] b = new B[?];
C[] c = new C[?];

para cada linha do meu objeto array eu terei uma referencia para um objeto da classe craida…assiim :

a[0]=new A("valores que eu peguei do arquivo na linha 1.");
a[1]=new A("valores que eu peguei do arquivo na linha 2.");
a[2]=new A("valores que eu peguei do arquivo na linha 3.");
a[3]=new A("valores que eu peguei do arquivo na linha 4.");
.....

b[0]=new A("valores que eu peguei do arquivo na linha 1.");
b[1]=new A("valores que eu peguei do arquivo na linha 2.");
b[2]=new A("valores que eu peguei do arquivo na linha 3.");
b[3]=new A("valores que eu peguei do arquivo na linha 4.");
....
c[0]=new A("valores que eu peguei do arquivo na linha 1.");
c[1]=new A("valores que eu peguei do arquivo na linha 2.");
c[2]=new A("valores que eu peguei do arquivo. na linha 3");
c[3]=new A("valores que eu peguei do arquivo na linha 4.");
.....

no final eu mandaria estes objetos para dentro de um objeto serializável

myArraList.add(a);
myArraList.add(b);
myArraList.add(c);

e enviaria estes objeto…

ooi.writeObject(myArrayList)

e do outro lado eu pegaria com

ArrayList al = (ArrayList) oii.reaObject()

e trabalharia com ele …sabendo que na posição “1”(get(1))…eu teria um array de objetos da classe A…na 2 da classe B e na 3 da classe C.

e trabalharia lendo esses arrays e gravando no banco…

gostaria de saber a opinião de vcs sobre isso…e …dispor um problema tbm…?

é o seguinte…:

como lá no começo…em:

A[] a = new A[?];
B[] b = new B[?];
C[] c = new C[?];

eu vou definir um tamanho para meus arrays…se eu nao sei quantas linhas de registro eu terei em cada arquivo???

se nao for para fazer assim…entaum como deverei proceder…?

como vou fazer para gravar um objeto que tenha um monte de objetos de determinado tipo…?

Obrigado pessoal…
valeu!!

2 Respostas

maxguzenski

pq tu nao coloca a classe A, B, C direto pra dentro da Collection? ao inves de um array delas?

arrayCol.add( new A("tal1"));
arrayCol.add( new A("tal2"));
arrayCol.add( new B("tal21"));
arrayCol.add( new C("tal21"));

e recupera la assim

Iterator i = arrayCol.iterator();
while ( i.hasNext() ) {
   Object o = i.next();

   if ( o instanceof A ) {
      A a = (A)o;
   } else if (o instanceof B ) {
      B b =  (B)o;
   } else if (o instanceof C ) {
      C c = (C)o;
   }

1 - o que achou?
2 - acho que a classe A,B,C devem ser serializadas tambem, ou nao ?

}

cv1

Sim - todo mundo que vai passar pelo ObjectOutputStream ou similares (incluindo aí RMI, IIOP, CORBA, etc) precisa implementar java.io.Serializable ou java.io.Externalizable. Caso vc esqueca de impl uma dessas interfaces, vc vai tomar um NotSerializableException, que é bem fácil de resolver :wink:

Criado 18 de setembro de 2003
Ultima resposta 18 de set. de 2003
Respostas 2
Participantes 3