Jump to content
Dan_111

Serializable, problema na escrita

Recommended Posts

Dan_111

Boas

estava a tentar guardar o estado de um mediaplayer simples, utilizando o serializable, mas acho que não está a funcionar, já que não grava nada.

Como acho que não cria nenhum ficheiro, gostava que alguém me disse se que tipo de ficheiro é que devo usar.

Este é o código que estou a utilizar

	private static void save(Scanner in, IMediaPlayer mp) throws IOException{

	String filename = "";


	filename = in.nextLine();

	ObjectOutputStream outStream = new ObjectOutputStream(new FileOutputStream(filename ));

	try {
		outStream.writeObject(mp);
		System.out.printf("done");
	}
	catch(IOException e) {
		System.out.printf("erro 1");
	}
	catch(Exception e) {
		System.out.printf("erro 2");
	}
	finally {
		outStream.flush();
		outStream.close();
	}
}

private static IMediaPlayer load(Scanner in, IMediaPlayer mp0) throws FileNotFoundException, IOException, ClassNotFoundException{
	IMediaPlayer mp = null; 
	String filename = "";
	filename = in.nextLine();
	ObjectInputStream inputstream = new ObjectInputStream(new FileInputStream(filename));

	try{
		mp = (MediaPlayerClass)inputstream.readObject();
		System.out.println("DONE DUDE!!!");
	}
	catch(FileNotFoundException e){
		System.out.println("FILE NOT FOUND DUDE!!!");
	}
	catch(IOException e){
		System.out.println("DUDE INPUT ISN'T RIGHT!!!");
	}
	finally{
		inputstream.close();
	}

	return mp;
}

Share this post


Link to post
Share on other sites
xdanix

Em que tipo de ficheiro estas a tentar guardar?

A classe concreta que queres gravar implementa Serializable?

Share this post


Link to post
Share on other sites
brunoais

Qual a mensagem de erro?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Dan_111

Já tentei .dat e .txt, mas  não tenho a certeza se isto cria um ficheiro ou se já tenho de ter um ficheiro para ele escrever xD. Logo isso é a minha grande dúvida. E sim tenho a classe concreta que quero gravar implementa o serializable, como não da mensagem de erro fico sem saber se o problema será mesmo do gravar ou será depois do escrever.

Basicamente já tentei escrever em ficheiros previamente, do tipo que disse em cima, e também sem ter criado um ficheiro previamente. No 1º caso os ficheiros, depois de tentar gravar, continuam vazios, daí a pensar que o erro será no gravar. No 2º caso, se e suposto criar um ficheiro...

Share this post


Link to post
Share on other sites
aladino77

Verifique o que é que vai no Scanner in quando vc invoca os métodos save e load. O código está correto.

A Documentação do java diz:

FileInputStream(String name) 
          Creates a FileInputStream by opening a connection to an actual file, the file named by the path name name in the file system.

Pouco interessa o nome da extensão. O formato do conteúdo é definido pelo Java.

De qualquer forma de houvesse algum problema vc teria uma exceção. Veja lá no meio das pastas se não encontra

o seu "querido" ficheiro.

Share this post


Link to post
Share on other sites
Dan_111

Verifique o que é que vai no Scanner in quando vc invoca os métodos save e load. O código está correto.

A Documentação do java diz:

FileInputStream(String name) 
          Creates a FileInputStream by opening a connection to an actual file, the file named by the path name name in the file system.

Pouco interessa o nome da extensão. O formato do conteúdo é definido pelo Java.

De qualquer forma de houvesse algum problema vc teria uma exceção. Veja lá no meio das pastas se não encontra

o seu "querido" ficheiro.

Realmente os ficheiros estavam na pasta do projecto no workspace.

Obrigado pela dica  :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.