fiz um q com um soh vect do tipo vect, le primeiro os arquivos, armazena no Vector e depois
grava e assim por diante ficando tipo assim:
primeira vez
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
segunda vez:
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
e assim por diante…
import java.io.;
import java.util.;
class DataIO {
String file;
public DataIO(String fl) {
file = fl;
}
public void grava(Vector v) {
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file, false));
out.writeObject(v);
out.close();
} catch(IOException io) {
System.out.println(“Arquivo nao encontrado!”);
}
}
public Vector le() {
ObjectInputStream in = null;
Vector v = null;
try {
in = new ObjectInputStream(new FileInputStream(file));
v = (Vector)in.readObject();
in.close();
} catch(ClassNotFoundException cnfe) {
System.out.println(“Arquivo nao encontrado…”);
} catch(IOException io) {
System.out.println(“Excessao de entrada/saida”);
}
return v;
}
public static void main (String args []) {
String fich = “contas.txt”;
DataIO dt = new DataIO(fich);
//Vector vect = new Vector();
Vector vect = dt.le();
/if (vect !=null)
vect = dt.le();/
if(vect != null)
for (int i = 0; i < vect.size(); i++)
{
//if (((Conta)vect2.elementAt(i)).numero()==1)
((Conta)vect.elementAt(i)).print();
}
vect.add(new Conta (1, “Caze”, “Junior”, 44.21));
vect.add(new Conta (2, “Antonio”, “Marinho”, 31.15));
vect.add(new Conta (3, “Thiago”, “bastos”, 841.50));
dt.grava(vect); //aki vc grava os 3 dados acima
vect.add(new Conta (1, “Pele”, “Claudio”, 44.21));
vect.add(new Conta (2, “Clailton”, “Maria”, 31.15));
vect.add(new Conta (3, “Raimundo”, “Ney”, 841.50));
dt.grava(vect); //aki vc acrescenta mais esses 3 no arquivo
//repare ke o arquivo foi aberto, gravado, fechado, aberto de novo mas
// desta vez foi gravado o mesmo vetor com os seis objetos
//caso vc tentásse criar um novo vetor e gravar somente os 3 ultimosobjetos,
//por causa da opçào boleana falsa o arquivo seria sobreposto
//e caso vc botásse a opção boleana como verdadeira o vetor não seriaregravado
//uma vez ke ele já estava gravado.
}
}
soh q tem um por em com um arquivo jah pronto funciona (segue em anexo o arquivo para teste), soh
q se for a primeira vez q eu executo o programa ele não funciona dah erro de essesao de entrada e
saida (tipo ele tah lendo um arquivo q não existe ainda), como faria pra corrigir esse bug dah
primeira vez q estarta o programa???
essa eh minha duvida!!!
tv bom, ficou legal essa implementação não ficou???
ai queria q ficasse assim
como eh a primeira vez q estarei lendo do vector e o arquivo texto ainda não foi criado ficaria
assim :
primeira vez
vazio
segunda vez:
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
terceira vez:
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
(1, “Caze”, “Junior”, 44.21));
(2, “Antonio”, “Marinho”, 31.15))
(3, “Thiago”, “bastos”, 841.50))
(1, “Pele”, “Claudio”, 44.21))
(2, “Clailton”, “Maria”, 31.15))
(3, “Raimundo”, “Ney”, 841.50))
arquivo texto pra fazer o teste (deve possuir o nome de contas.txt):
¬í sr java.util.VectorÙ—}[€;¯ I capacityIncrementI elementCount[ elementDatat [Ljava/lang/Object;xp ur [Ljava.lang.Object;?ÎXŸs)l xp sr Conta3À&ˆí1ô I numD saldoL pNomet Ljava/lang/String;L uNomeq ~ xp @FáG®{t Cazet Juniorsq ~ @?&ffffft aAntoniot aMarinhosq ~ @ŠL t Thiagot bastossq ~ @FáG®{t Pelet aClaudiosq ~ @?&ffffft Clailtont Mariasq ~ @ŠL t Raimundot Neysq ~ @FáG®{t Cazet Juniorsq ~ @?&ffffft aAntoniot aMarinhosq ~ @ŠL t Thiagot bastossq ~ @FáG®{t Pelet aClaudiosq ~ @?&ffffft Clailtont Mariasq ~ @ŠL t Raimundot Neypppppppp
modifiquem o codigo, façam o q quizerem, mas help!!!
implementem ele…
blzas!
isso tbm vai ajudar muita gente!!!