<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FObjectInputStream</id>
		<title>Java Tutorial/File/ObjectInputStream - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FObjectInputStream"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/ObjectInputStream&amp;action=history"/>
		<updated>2026-04-11T14:44:20Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/ObjectInputStream&amp;diff=5284&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/ObjectInputStream&amp;diff=5284&amp;oldid=prev"/>
				<updated>2010-06-01T05:19:09Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:19, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/ObjectInputStream&amp;diff=5283&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/ObjectInputStream&amp;diff=5283&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Create ObjectInputStream from FileInputStream ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class ObjectReader {&lt;br /&gt;
  public static void main(String[] arguments) {&lt;br /&gt;
    try {&lt;br /&gt;
      FileInputStream fi = new FileInputStream(&amp;quot;message.obj&amp;quot;);&lt;br /&gt;
      ObjectInputStream oi = new ObjectInputStream(fi);&lt;br /&gt;
      Message mess = (Message) oi.readObject();&lt;br /&gt;
      System.out.println(&amp;quot;Message:\n&amp;quot;);&lt;br /&gt;
      System.out.println(&amp;quot;From: &amp;quot; + mess.from);&lt;br /&gt;
      System.out.println(&amp;quot;To: &amp;quot; + mess.to);&lt;br /&gt;
      System.out.println(&amp;quot;Date: &amp;quot; + mess.when + &amp;quot;\n&amp;quot;);&lt;br /&gt;
      for (int i = 0; i &amp;lt; mess.lineCount; i++)&lt;br /&gt;
        System.out.println(mess.text[i]);&lt;br /&gt;
      oi.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.out.println(&amp;quot;Error &amp;quot; + e.toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Message implements Serializable {&lt;br /&gt;
  int lineCount;&lt;br /&gt;
  String from, to;&lt;br /&gt;
  Date when;&lt;br /&gt;
  String[] text;&lt;br /&gt;
  void writeMessage(String inFrom, String inTo, Date inWhen, String[] inText) {&lt;br /&gt;
    text = new String[inText.length];&lt;br /&gt;
    for (int i = 0; i &amp;lt; inText.length; i++)&lt;br /&gt;
      text[i] = inText[i];&lt;br /&gt;
    lineCount = inText.length;&lt;br /&gt;
    to = inTo;&lt;br /&gt;
    from = inFrom;&lt;br /&gt;
    when = inWhen;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Object serialization with Serializable interface, ObjectOutputStream and ObjectInputStream. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
class MyClass implements Serializable {&lt;br /&gt;
  String str;&lt;br /&gt;
  double[] vals;&lt;br /&gt;
  File fn;&lt;br /&gt;
  public MyClass(String s, double[] nums, String fname) {&lt;br /&gt;
    str = s;&lt;br /&gt;
    vals = nums;&lt;br /&gt;
    fn = new File(fname);&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    String data = &amp;quot;  str: &amp;quot; + str + &amp;quot;\n  vals: &amp;quot;;&lt;br /&gt;
    for (double d : vals)&lt;br /&gt;
      data += d + &amp;quot; &amp;quot;;&lt;br /&gt;
    data += &amp;quot;\n  fn: &amp;quot; + fn.getName();&lt;br /&gt;
    return data;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    double v[] = { 1.1, 2.2, 3.3 };&lt;br /&gt;
    double v2[] = { 9.0, 8.0, 7.7 };&lt;br /&gt;
    MyClass obj1 = new MyClass(&amp;quot;This is a test&amp;quot;, v, &amp;quot;Test.txt&amp;quot;);&lt;br /&gt;
    MyClass obj2 = new MyClass(&amp;quot;Alpha Beta Gamma&amp;quot;, v2, &amp;quot;Sample.dat&amp;quot;);&lt;br /&gt;
    ObjectOutputStream fout = new ObjectOutputStream(new FileOutputStream(&amp;quot;obj.dat&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;obj1:\n&amp;quot; + obj1);&lt;br /&gt;
    fout.writeObject(obj1);&lt;br /&gt;
    System.out.println(&amp;quot;obj2:\n&amp;quot; + obj2);&lt;br /&gt;
    fout.writeObject(obj2);&lt;br /&gt;
    fout.close();&lt;br /&gt;
    ObjectInputStream fin = new ObjectInputStream(new FileInputStream(&amp;quot;obj.dat&amp;quot;));&lt;br /&gt;
    MyClass inputObj;&lt;br /&gt;
    inputObj = (MyClass) fin.readObject();&lt;br /&gt;
    System.out.println(&amp;quot;First object:\n&amp;quot; + inputObj);&lt;br /&gt;
    inputObj = (MyClass) fin.readObject();&lt;br /&gt;
    System.out.println(&amp;quot;Second object:\n&amp;quot; + inputObj);&lt;br /&gt;
    fin.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reading objects from file using ObjectInputStream ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(&amp;quot;yourFile.dat&amp;quot;));&lt;br /&gt;
    Object obj = null;&lt;br /&gt;
    while ((obj = inputStream.readObject()) != null) {&lt;br /&gt;
      if (obj instanceof Person) {&lt;br /&gt;
        System.out.println(((Person) obj).toString());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    inputStream.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Person implements Serializable {&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private int age;&lt;br /&gt;
  public Person() {&lt;br /&gt;
  }&lt;br /&gt;
  public String getFirstName() {&lt;br /&gt;
    return firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setFirstName(String firstName) {&lt;br /&gt;
    this.firstName = firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public String getLastName() {&lt;br /&gt;
    return lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setLastName(String lastName) {&lt;br /&gt;
    this.lastName = lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public int getAge() {&lt;br /&gt;
    return age;&lt;br /&gt;
  }&lt;br /&gt;
  public void setAge(int age) {&lt;br /&gt;
    this.age = age;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    StringBuffer buffer = new StringBuffer();&lt;br /&gt;
    buffer.append(firstName);&lt;br /&gt;
    buffer.append(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    buffer.append(lastName);&lt;br /&gt;
    buffer.append(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    buffer.append(age);&lt;br /&gt;
    buffer.append(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    return buffer.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store objects in file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    FileOutputStream fos = new FileOutputStream(&amp;quot;books.dat&amp;quot;);&lt;br /&gt;
    ObjectOutputStream oos = new ObjectOutputStream(fos);&lt;br /&gt;
    Book book = new Book(&amp;quot;1&amp;quot;, &amp;quot;Java&amp;quot;, &amp;quot;A&amp;quot;);&lt;br /&gt;
    oos.writeObject(book);&lt;br /&gt;
    oos.flush();&lt;br /&gt;
    oos.close();&lt;br /&gt;
    FileInputStream fis = new FileInputStream(&amp;quot;books.dat&amp;quot;);&lt;br /&gt;
    ObjectInputStream ois = new ObjectInputStream(fis);&lt;br /&gt;
    book = (Book) ois.readObject();&lt;br /&gt;
    System.out.println(book.toString());&lt;br /&gt;
    ois.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Book implements Serializable {&lt;br /&gt;
  private String isbn;&lt;br /&gt;
  private String title;&lt;br /&gt;
  private String author;&lt;br /&gt;
  public Book(String isbn, String title, String author) {&lt;br /&gt;
    this.isbn = isbn;&lt;br /&gt;
    this.title = title;&lt;br /&gt;
    this.author = author;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;[Book: &amp;quot; + isbn + &amp;quot;, &amp;quot; + title + &amp;quot;, &amp;quot; + author + &amp;quot;]&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>