Serialization, Arrays and Collections

Kategori: Java , 18 Temmuz 2019 , JanFranco


Önceki yazılarımızda bir objeyi diske kaydetmiş, kaydettiğimiz dosyayı memory'e yazıp okumuştuk. Bu yazımızda ise diske yazacağımız şey objelerin bulunduğu bir Array ve bir ArrayList. Student sınıfında değişiklik yapmadığımız için tekrar yazmıyorum. Main_class'tan Array ve ArrayList oluşturup diske yazalım:


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;

public class Main_class {
	
	public static void main(String[] args){
		
		try(ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("C:\\Users\\ErenS\\Desktop\\student.bin"))){
			
			Student s1 = new Student("Jan Franco", "Computer Science", 1111);
			Student s2 = new Student("Jane Franco", "Dentistry", 9999);
			
			Student[] studentArr = {s1, s2};
			ArrayList<Student> arrayList = new ArrayList<>(Arrays.asList(studentArr));
			
			output.writeObject(studentArr);
			output.writeObject(arrayList);
			
		} catch (FileNotFoundException e) {
			System.out.println("File not found.");
		} catch (IOException e) {
			System.out.println("IOException. Check the version.");
		}
		
	}
	
}
Reader adında bir class açalım yazdığımız listeleri, arrayleri okuyalım:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;

public class Reader {

	public static void main(String args[]) {
		
		try(ObjectInputStream input = new ObjectInputStream(new FileInputStream("C:\\Users\\ErenS\\Desktop\\student.bin"))){
			
			Student[] array = (Student[])input.readObject();
			ArrayList<Student> studentList = (ArrayList<Student>)input.readObject();
			
			System.out.println("*************");
			for(Student s : array){
				System.out.println(s);
			}
			System.out.println("**************");
			for(Student s : studentList){
				System.out.println(s);
			}
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
}
Çalıştırdığımızda:

*************
Student [name=Jan Franco, department=Computer Science, studentNo=1111]
Student [name=Jane Franco, department=Dentistry, studentNo=9999]
**************
Student [name=Jan Franco, department=Computer Science, studentNo=1111]
Student [name=Jane Franco, department=Dentistry, studentNo=9999]


Sonraki Yazı: Serialization, Transient
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın