تقوم فئة ObjectInputStream بإلغاء تسلسل البيانات والكائنات البدائية التي تم كتابتها مسبقًا ObjectOutputStream .
- يتم استخدام كل من ObjectOutputStream وObjectInputStream لأنه يوفر مساحة تخزين للرسوم البيانية للكائن.
- فهو يضمن أن الكائن الذي يعمل من أجله يطابق فئات JVM، أي Java Virtual Machine. يمكن قراءة تلك الكائنات فقط من التدفقات التي تدعمها قابل للتسلسل أو قابل للتحويل إلى الخارج - فئات IO خطأ خلاف ذلك. يعد Serializable في الأساس نوعًا من العلامات لـ JVM (Java Virtual Machine) لتوجيهه لكتابة حالة الكائن الموجود في Stream
تصريح :
public class ObjectInputStream
extends InputStream
implements ObjectInput ObjectStreamConstants
البنائين :
- ObjectInputStream () المحمي: ساعد الفئات الفرعية على عدم تخصيص البيانات الخاصة التي يستخدمها ObjectInputStream إذا كانوا يعيدون تنفيذ ObjectInputStream.
- ObjectInputStream(InputStream source_input): قم بإنشاء ObjectInputStream الذي يقرأ البيانات من تدفق الإدخال "source_input".
طُرق:
- قراءة () : java.io.ObjectInputStream.read () يقرأ بايت البيانات والكتل في حالة عدم وجود بيانات للقراءة. بناء الجملة :
public int read()
Parameters :
-----------
Return :
reads byte else return -1 if end of Stream is detected.
Exception :
-> IOException : in case of any IO error occurs.
- readBoolean() : java.io.ObjectInputStream.readBoolean() يقرأ بطريقة منطقية.
بناء الجملة :
public int readBoolean()Java
Parameters :
-----------
Return :
reads in a boolean.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
// Java program explaining the working of read() readBoolean() method import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); // Methods covered in later geek_outStream.writeBoolean(true); geek_outStream.writeUTF("Geeks For Geeks"); geek_outStream.flush(); // Use of readBoolean() System.out.println("USe of readBoolean() : " + Geek_inStream.readBoolean()); System.out.print("Use of read() method in Java : "); // Use of read() method : reading the content of file for (int i = 0; i < Geek_inStream.available();) { System.out.print((char) Geek_inStream.read()); } } }
- الإخراج :
USe of readBoolean() : true
Use of read() method in Java : Geeks For Geeks
- قراءة (بايت [] المخزن المؤقت إزاحة int maxlen): java.io.ObjectInputStream.read (بايت [] المخزن المؤقت إزاحة int maxlen) يقرأ جزءًا من البيانات من "المخزن المؤقت" بدءًا من موضع الإزاحة حتى موضع الحد الأقصى للمخزن المؤقت. بناء الجملة :
public int read(byte[] buffer int offset int maxlen)Java
Parameters :
buffer : buffer to be read
offset : starting position of the buffer
maxlen : max. no. of bytes to be read
Return :
reads 'maxlen' bytes of data else return -1 if end of Stream is detected.
Exception :
-> IOException : in case of any IO error occurs.
// Java program explaining the working of // read(byte[] buffer int offset int maxlen) import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); // create an ObjectInputStream for the file we created before ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeUTF("GeeksForGeeks"); geek_outStream.flush(); byte[] buffer = new byte[25]; // Use of read(byte[] buffer int offset int maxlen) Geek_inStream.read(buffer 2 20); System.out.print("Use of read(buffer offset maxlen) : "); for (int i = 0; i < 19; i++) { System.out.print((char)buffer[i]); } } }
- الإخراج :
GeeksForGeeks
- readByte() : java.io.ObjectInputStream.readByte() يقرأ بايت 8 بت.
بناء الجملة :
public byte readByte()
Parameters :
-----------
Return :
reads 8-bit byte.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- readChar (): java.io.ObjectInputStream.readChar () يقرأ 16 بت من شار.
بناء الجملة :
public int read()
Parameters :
-----------
Return :
reads 16-bit of char.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- قراءة مزدوجة (): java.io.ObjectInputStream.readDouble () يقرأ 64 بت مزدوج.
بناء الجملة :
public double readDouble()
Parameters :
-----------
Return :
reads 64 bit double.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- readFloat() : java.io.ObjectInputStream.readFloat() يقرأ تعويم 32 بت.
بناء الجملة :
public float readFloat()
Parameters :
-----------
Return :
reads a 32 bit float.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- readInt() : java.io.ObjectInputStream.readInt() يقرأ 32 بت كثافة العمليات.
بناء الجملة :
public int readInt()
Parameters :
-----------
Return :
reads a 32 bit int.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- قراءة طويلة (): java.io.ObjectInputStream.readLong () يقرأ 64 بت طويلة.
بناء الجملة :
public long readLong()Java
Parameters :
-----------
Return :
reads a 64 bit long.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
// Java program explaining the working of // readChar() writeByte() writeDouble() // writeFloat() writeInt() writeLong() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); // create an ObjectInputStream for the file we created before ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeChar('G'); geek_outStream.writeByte('G'); geek_outStream.writeDouble(00436754746); geek_outStream.writeFloat(2.12345f); geek_outStream.writeInt(3576); geek_outStream.writeLong(368723776); geek_outStream.flush(); // Use of readChar() System.out.println("Use of readChar() : " + Geek_inStream.readChar()); // Use of readByte() : System.out.println("Use of readByte() : " + Geek_inStream.readByte()); // Use of readDouble() : System.out.println("Use of readDouble() : " + Geek_inStream.readDouble()); // Use of readFloat() : System.out.println("Use of readFloat() : " + Geek_inStream.readFloat()); // Use of readInt() : System.out.println("Use of readInt() : " + Geek_inStream.readInt()); // Use of readLong() : System.out.println("Use of readLong() : " + Geek_inStream.readLong()); } }
- الإخراج :
Use of readChar() : G
Use of readByte() : 71
Use of readDouble() : 7.5225574E7
Use of readFloat() : 2.12345
Use of readInt() : 3576
Use of readLong() : 368723776
- readUnsignedByte() : java.io.ObjectInputStream.readUnsignedByte() يقرأ بايت 8 بت غير موقعة.
بناء الجملة :
public int readUnsignedByte()
Parameters :
-----------
Return :
reads an unsigned 8 bit byte.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
- readUnsignedShort() : java.io.ObjectInputStream.readUnsignedShort() يقرأ 16 بت قصيرة غير موقعة. بناء الجملة :
public int readUnsignedShort()Java
Parameters :
-----------
Return :
reads an unsigned 16 bit short.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
// Java program explaining the working of // readUnsignedByte() and readUnsignedShort() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); // create an ObjectInputStream for the file we created before ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeByte(111); geek_outStream.writeShort(121212); geek_outStream.flush(); // Use of readUnsignedByte() System.out.println("readUnsignedByte() : " + Geek_inStream.readUnsignedByte()); // Use of readUnsignedShort() : System.out.println("readUnsignedShort() : " + Geek_inStream.readUnsignedShort()); } }
- الإخراج :
readUnsignedByte() : 111
readUnsignedShort() : 55676
- قراءة UTF (): java.io.ObjectInputStream.readUTF () يقرأ السلسلة بتنسيق UTF-8 المعدل (تنسيق تحويل Unicode). UTF -8 يعني أنه يستخدم كتل 8 بت لتمثيل الحرف.
بناء الجملة :
public String readUTF()Java
Parameters :
public final Object readObject()
Return :
reads String in modified UTF-8 (Unicode Transformation Format) format
Exception :
-> IOException : in case of any IO error occurs.
// Java program explaining the working of readUTF() import java.io.*; public class// Java program explaining the working of readUTF() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException ClassNotFoundException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeUTF("gEEKSArehERE"); geek_outStream.flush(); // Use of readUTF() method System.out.println("Use of readUTF() : " + Geek_inStream.readUTF()); } }
- الإخراج :
Use of readUTF() : gEEKSArehERE
- SkiBytes(int maxlen): java.io.ObjectInputStream.skipBytes(int maxlen) يتخطى "ماكسلين" لا. بايت أثناء القراءة.
بناء الجملة :
public int skipBytes(int maxlen)Java
Parameters :
maxlen : max. no. of bytes to be skipped
Return :
no. of bytes to be skipped
Exception :
-> IOException : in case of any IO error occurs.
// Java program explaining the working of skipBytes() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException ClassNotFoundException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeUTF("gEEKSArehERE"); geek_outStream.flush(); // Use of skipBytes() : Geek_inStream.skipBytes(7); for (int i = 2; i < Geek_inStream.available(); i++) { System.out.print((char) Geek_inStream.readByte()); } } }
- الإخراج :
Are
- readFully(بايت[] الوجهة): java.io.ObjectInputStream.readFully(بايت[] الوجهة) يقرأ كافة البايتات من المصدر إلى مجموعة الوجهة.
بناء الجملة :
public void readFully(byte[] destination)Java
Parameters :
destination : the buffer in which the data is to be read
Return :
returns the 32 bit float read
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if End of stream is reached
// Java program explaining the working of readFully() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException ClassNotFoundException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeUTF("gEEKSArehERE"); geek_outStream.flush(); byte[] destination = new byte[14]; // Use of readFully() Geek_inStream.readFully(destination); String str = new String(destination); System.out.println("Use of readFully(destination offset maxlen) : "+str); } }
- الإخراج :
Use of readFully(destination offset maxlen) : gEEKSArehERE
- readFully(بايت[] وجهة int إزاحة int maxlen): java.io.ObjectInputStream.readFully(بايت[] وجهة int إزاحة int maxlen) يقرأ بعض البايتات (بدءًا من الإزاحة إلى موضع maxlen) من المصدر إلى صفيف الوجهة.
بناء الجملة :
public void readFully(byte[] destination int offset int maxlen)Java
Parameters :
destination : the buffer in which the data is to be read
offset : starting position of the buffer
maxlen : max no. of bytes to be read
Return :
void
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if End of stream is reached
// Java program explaining the working of // readFully(byte[] destination int offset int maxlen) import java.io.*; public class NewClass { public static void main(String[] args) throws IOException ClassNotFoundException { // create a new file with an ObjectOutputStream and ObjectInputStream FileOutputStream geek_out = new FileOutputStream("GEEKS.txt"); ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out); ObjectInputStream Geek_inStream = new ObjectInputStream(new FileInputStream("GEEKS.txt")); geek_outStream.writeUTF("gEEKSArehERE"); geek_outStream.flush(); byte[] destination = new byte[14]; // Use of readFully(byte[] destination int offset int maxlen) Geek_inStream.readFully(destination 3 7); String str = new String(destination); System.out.println("Use of readFully(destination offset maxlen) : "+ str); } }
- الإخراج :
Use of readFully(destination offset maxlen) : geeks
إنشاء اختبار