У меня вопрос. теперь я сериализую много объектов в двоичном файле student.binУдалить все объекты в java?
после добавления данных объекта в двоичном файле теперь я хочу получить все данные, записанные в двоичном файле.
, но он только извлекает первые данные объекта.
вопрос: как получить все содержимое файла?
вот мой код:
import java.util.Scanner;
import java.io.*;
import java.io.Serializable;
public class Binary implements Serializable{
public int id;
public String name;
public int grade;
public static void main(String argv[]) throws IOException, ClassNotFoundException
{
Binary b = new Binary();
Scanner sc = new Scanner(System.in);
System.out.printf("Enter student id: ");
b.id = sc.nextInt();
System.out.printf("Enter student name: ");
b.name = sc.next();
System.out.printf("Enter student grade: ");
b.grade = sc.nextInt();
ObjectOutputStream bin = new ObjectOutputStream(new FileOutputStream("C:\\Users\\فاطمة\\Downloads\\student.bin",true));
bin.writeObject(b);
bin.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("C:\\Users\\فاطمة\\Downloads\\student.bin"));
Binary b2 = (Binary)in.readObject();
System.out.println("Student ID: " + b2.id);
System.out.println("Student Name: " + b2.name);
System.out.println("Student Grade: " + b2.grade);
in.close();
}
}
спасибо за ответ, но как распечатать элементы ??? –
вы не ответили на весь вопрос. Я хочу напечатать все данные объектов отдельно ... например, если у меня есть данные объекта, подобные этому (1, «Джон», 50), поэтому он должен быть напечатан как мой выводный оператор, который я написал в моем коде выше. данные каждого объекта должны быть напечатаны отдельно. –
Входные потоки не имеют методов 'hasNext()', и вы не можете одновременно использовать «Сканер» и «ObjectInputStream» в одном и том же базовом потоке. Вы этого не пробовали. – EJP