Serialisoinnin perusteet
Ymmärtäkää Javan serialisoinnin perusteet: Serializable-rajapinta sekä ObjectOutputStream- ja ObjectInputStream-luokat.
Serialisoinnin perusteet on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Serialisointi tarkoittaa olion tilan tallentamista tiedostoon tai virtaan ja sen palauttamista myöhemmin. Sitä käytetään usein tietojen säilyttämiseen tai olioiden lähettämiseen.
Serializable-rajapinta
Luokan on toteutettava java.io.Serializable, jotta sen oliot voidaan serialisoida. Tämä on merkintärajapinta, joka ei sisällä metodeja.
Koodi: Serializable-luokka
Tässä Person toteuttaa Serializable-rajapinnan. Tämän ansiosta olio voidaan kirjoittaa ObjectOutputStreamin avulla.
import java.io.Serializable;
public class Main {
static class Person implements Serializable {
String name;
int age;
Person(String n, int a) { name = n; age = a; }
public String toString() { return name + "(" + age + ")"; }
}
public static void main(String[] args) {
Person p = new Person("Ada", 30);
System.out.println("Created: " + p);
}
}
ObjectOutputStream
ObjectOutputStream kirjoittaa olion tiedostoon. Tiedosto sisältää olion binäärimuodon.
Koodi: olion kirjoittaminen
Tämä kirjoittaa Person-olion tiedostoon nimeltä person.ser.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
}
public static void main(String[] args) {
Person p = new Person("Bob",25);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
out.writeObject(p);
System.out.println("Object written");
} catch(IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Koodi: olion lukeminen
Tämä lukee Person-olion takaisin tiedostosta ja tulostaa sen.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
public String toString(){return name+"("+age+")";}
}
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) in.readObject();
System.out.println("Read: " + p);
} catch(Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Serialisoinnin tarkistus
Pikakysymys: mitä luokan on tehtävä, jotta se voidaan serialisoida?
Kertaus
Kertaus: Serialisointi tallentaa oliot ObjectOutputStreamin avulla ja palauttaa ne ObjectInputStreamin avulla. Luokkien on toteutettava Serializable-rajapinta.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Serialisoinnin perusteet” ilmainen?
Kyllä – oppitunnin ”Serialisoinnin perusteet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Serialisoinnin perusteet”?
Ymmärtäkää Javan serialisoinnin perusteet: Serializable-rajapinta sekä ObjectOutputStream- ja ObjectInputStream-luokat. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Serialisoinnin perusteet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Serialisoinnin perusteet
- Yksinkertainen CSV/JSON-käsittely
- Tiedostojen läpikäynti ja apuohjelmat