Arquivo Texto vs Serializado

Qual a diferença entre um arquivo texto e um arquivo serializado?

Isso depende de como vc salva,

mas os arquivos textos, são arquivos normais como vc abre no notepad

mas os aquivos de objetos serializados, são binários e armazenam a o objeto da classe serializada para posteriormente ser aberto e remontado na memoria e não um texto

bom, resumindo é isso

Teria algum exemplo de como fazer isso?

Ainda não ficou bem claro :roll:

Obrigado

Um objeto serializado é um objeto representado como uma sequencia de bytes que inclui os dados do objeto bem como as informações sobre o tipo do objeto e os tipos dos dados armazenados no objeto. Por exemplo, se o valor “3” fosse lido a partir de um arquivo no formato texto, não haveria como dizer se o valor veio de um int, String ou double.
Depois que um objeto serializado foi gravado em um arquivo, ele pode ser lido a partir do arquivo e desserializado - isto é, as informações dos tipos (int, String, double) e bytes que representam o objeto e seus dados podem ser utilizadas para recriar o objeto na memória.

Jean :wink:

Não vai se acustumando:

package ivo.testes;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

public class Teste {

	public Teste() throws Exception{
		String texto = "Aqui tem uma linha do arquivo\nOutra linha do arquivo"; 

		//Escreve Texto
		FileOutputStream out = new FileOutputStream("texto.txt");
		out.write(texto.getBytes());
		out.flush();
		out.close();
		
		//Excreve Objeto
		ObjectOutputStream objOut = new ObjectOutputStream(new FileOutputStream("serializado.txt"));
		ArrayList<String> array = new ArrayList<String>();
		array.add(texto);
		objOut.writeObject(array);
		objOut.flush();
		objOut.close();
		
		//Lê texto
		FileInputStream in = new FileInputStream("texto.txt");
		byte b[]  = new byte[in.available()];
		in.read(b);
		in.close();
		System.out.println(new String(b));
		
		//Lê Objeto
		ObjectInputStream objIn = new ObjectInputStream(new FileInputStream("serializado.txt"));
		array = (ArrayList<String>)objIn.readObject();
		System.out.println(array.get(0));
		objIn.close();
	}
	
	public static void main(String[] args) {
		try{
			new Teste();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Vou testar este exemplo, pra ver se na prática fica mais legível de entender! :smiley:

Mais acho que a dúvida ja foi sanada, Obrigado pelo auxilio de todos!

Olha eu aqui de novo… :slight_smile:

E como eu faço, por exemplo, se eu tiver uns 4 arquivos de texto e preciso serializa-los todos em apenas um arquivo serializado…
Como faria isso? Exemplo?

Obrigado

Se forem iguais teu dados vc joga dentro de alguma implementacao da classe List por exemplo

Se forem diferentes, na pratica nao existe isso, vc serializa uma classe, nao uma mistureba de dados

[quote=aleeebr]Se forem iguais teu dados vc joga dentro de alguma implementacao da classe List por exemplo

Se forem diferentes, na pratica nao existe isso, vc serializa uma classe, nao uma mistureba de dados[/quote]

Hm…Na real eu tenho que fazer isso:

Escreva um programa Java que leia os quatro arquivos txt`s e utilizando-se da serialização de objetos grave todas as informações neles contidos em um arquivo chamado exportacao.ser

Só que nao consigo? Alguem teria alguma idéia?