Insects + persistence Learn programming Java

Lesson:

Object Persistence


Exercise:

Insects + persistence 12


Objetive:

Create a new version of the "insects" exercise (april 17th), which must save its data using persistence.


Code:

package Insects;

public class Ant extends NonFlyingInsect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am an ant.");
	}
}

package Insects;
public class Bee extends FlyingInsect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a bee.");
	}
}

package Insects;

public class Fly extends FlyingInsect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a fly.");
	}
}

package Insects;

public class FlyingInsect extends Insect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a flying insect.");
	}
}

package Insects;
public class Insect implements Serializable
{
	public void ShowData()
	{
		System.out.println("I am an insect.");
	}

	public static void Guardar(String nombre, Insect insect)
	{
		IFormatter formatter = new BinaryFormatter();
		Stream stream = new java.io.FileOutputStream(nombre);
		formatter.Serialize(stream, insect);
		stream.Close();
	}

	public static Insect Cargar(String nombre)
	{
		Insect objeto;
		IFormatter formatter = new BinaryFormatter();
		Stream stream = new java.io.FileInputStream(nombre);
		objeto = (Insect)formatter.Deserialize(stream);
		stream.Close();
		return objeto;
	}
}

package Insects;
public class Mosquito extends FlyingInsect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a mosquito.");
	}
}

package Insects;
public class NonFlyingInsect extends Insect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a non flying insect.");
	}
}

package Insects;
import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		Random rand = new Random();
		int amount = 10;
		Insect[] data = new Insect[amount];
		for (int i = 0; i < amount - 1; i++)
		{
			switch (rand.nextInt(1, 5))
			{
				case 1:
					data[i] = new Fly();
					break;
				case 2:
					data[i] = new Mosquito();
					break;
				case 3:
					data[i] = new Bee();
					break;
				case 4:
					data[i] = new Ant();
					break;
				case 5:
					data[i] = new Spider();
					break;
			}
		}

		for (int i = 0; i < amount - 1; i++)
		{
			data[i].ShowData();
		}

	}
}

package Insects;
public class Spider extends NonFlyingInsect
{
	@Override
	public void ShowData()
	{
		System.out.println("I am a spider.");
	}
}