Escrever/Ler Arquivo

Fiz duas classes: Ponto e Cadastro
Como Escrever/Ler em arquivo?

import java.io.*;
class Ponto implements Serializable{
    String nome;
    private  int x;
    private int y;
    Ponto(String nome, int xponto, int yponto){
        this.nome = nome;
        x = xponto;
        y = yponto;
    }
    public String obtemNome(){ return nome;}
    public int obtemX(){ return x;}
    public int obtemY(){ return y;}
    
    public String toString(){
        return "Eu sow o "+nome+", e minha localizacao eh x="+x+" e y="+y+"";
  }
}
import java.io.*;
public class Cadastro implements Serializable {
        private Ponto p;
    public void Grava(String arquivoteste){

        try{
            FileOutputStream fos = new FileOutputStream("arquivoteste");
            ObjectOutputStream o = new ObjectOutputStream(fos);
            p = new Ponto("Rafael", 12, 14);
            o.writeObject(p);
            o.close();
        }
        catch(IOException e){
        System.out.print("Erro na gravação do Arquivo");
        }
    }
    public void Le(String arquivoteste){
        
        try{
            FileInputStream fis = new FileInputStream("arquivosteste");
            ObjectInputStream o = new ObjectInputStream(fis);
            p = (Ponto) o.readObject(); //Tenho erro nessa Linha
            o.close();
        }
        catch(IOException e){
            System.out.print("Erro na Leitura do Arquivo");
        }
    }
}

Tentei fazer com q o arquivo “arquivoteste” recebesse algumas informações, uma String e dois inteiros… mas obtive um erro.

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos[/color][/size] :joia:

posta o erro pra gente !!! :grin:

OBS: tenta declara o construtor da classe Ponto como public
e aquela string q vc manda retornar no metodo toString, aquilo da certo???

Certo. Declarei o Construtor como public e removi as linhas do toString, pois não são necessárias.
O erro Ocorre na linha q comentei, da classe Cadastro:
p = (Ponto) o.readObject();
E diz o seguinte:

unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown 8O

vc tratou essa exception?
ClassNotFoundException

pelo o q intendi ele naum esta encontrando o objeto serializado
e se vc tenta declarar outro objeto:

Object ob = new Object();
ob = (Ponto) o.readObject();

sei la qualquer coisa assim

precisamos de ajuda superior :grin: :grin: 8O

eidt: em q momento o seu FileInputStream e FileOutputStream recebem o endereco de “arquivoteste”

na verdade a excecao ClassNotFoundException jah existe…nao precisa declarar…
o problema eh que voce nao ta tratando esta excecao em lugar nenhum…
a solucao seria fazer:

try {
   p = (Ponto) o.readObject(); 
   //resto do bloco, q vem logo depois desse acima
} catch(ClassNotFoundException cnfe) {
   //AQUI VOCE TRATA A EXCECAO
}

ou entao lancar a excecao…ou seja, a declaracao do metodo que contem essa chamada p = (Ponto) o.readObject(); voce coloca:

public void nomeDoMetodo() throws ClassNotFoundException {
//...
//...

espero que resolva

Resolvew sim !!! :grin: :grin: :grin:

Alterei o método “Le” da classe “Cadastro” trantando a exceção ClassNotFoundException. Ele ficow da seguinte forma:

    public void Le(String arquivoteste){
        
        try{
            FileInputStream fis = new FileInputStream("arquivoteste");
            ObjectInputStream o = new ObjectInputStream(fis);
            p = (Ponto) o.readObject();
            System.out.println(p);
            o.close();
        }
        catch(IOException e){
            System.out.println(e.getMessage());
        }
        catch(ClassNotFoundException e){
            System.out.println(e.getMessage());
        }
    }

Valew pela força!!! :lol: :eek: