Erro ao fazer arquivo

7 respostas
G

Estou tentando gravar um arquivo. Mais o metodo esta caindo na excessão
Variavel "a" é um ArrayList
Eu debuguei o metodo e ele está caindo no catch quando ele vai excecutar o "out.writeObject(a.get(i)"

public static void gravar(){
   try{
	FileOutputStream fos = new FileOutputStream("Clientes.txt" );
            ObjectOutputStream out = new ObjectOutputStream(fos);
            out.flush();
            out.writeInt(a.size());
            for(int i=0; i<a.size(); i++)
                out.writeObject(a.get(i));
 }               
   catch(Exception ex){
			
	}
}

7 Respostas

maquiavelbona

Já tentou usar o Iterator para percorrer a ArrayList?

Até!

PcAbrantes

cola o stacktrace

LPJava

lembre-se que os tipos de um arraylist so podem ser usado a partir da versao 1.5 do java… mas coloque as exceções que ta ocorrendo ai… se vc usar o foreach é mais pratico

for(int a : arraylist){}
P

Cara,

Pode ser que eu esteja enganado, mas acho que você  pode enviar para um [i]ObjectOutputStream[/i] objetos que implementem a interface [i]Serializable[/i].
B
public static void gravar(String caminho, ArrayList<String> lista){
		try{
			String texto = new String();
			FileWriter file = new FileWriter(caminho ,true);
			for(String str : lista ) {			
				texto += str + "\n";
			}
			file.write(texto); 
			file.close(); 
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}

Tenta algo desse tipo.

felipedamiani
public static void gravar() {
		try {
			
			ArrayList<Integer> a = new ArrayList<Integer>();
			a.add(1);
			a.add(2);
			
			FileOutputStream fos = new FileOutputStream("Clientes.txt");
			ObjectOutputStream out = new ObjectOutputStream(fos);
			out.flush();
			out.writeObject(a);
			
			FileInputStream fi = new FileInputStream("Clientes.txt");
			ObjectInputStream oi = new ObjectInputStream(fi);
			
			System.out.println(oi.readObject());
		
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

tenta ai…

LPJava

pango:
Cara,

Pode ser que eu esteja enganado, mas acho que você  pode enviar para um [i]ObjectOutputStream[/i] objetos que implementem a interface [i]Serializable[/i].</blockquote>

ele postou meio codigo uhauha… se ele quer serializar… concerteza a class deve implements a interface Serializable

Criado 8 de outubro de 2007
Ultima resposta 9 de out. de 2007
Respostas 7
Participantes 7