Java: ObjectInputStream - PullRequest
       5

Java: ObjectInputStream

0 голосов
/ 11 сентября 2011
    public void bar(String fileName) throws IOException{
    FileInputStream fileIn = new FileInputStream(fileName);
    ObjectInputStream in = new ObjectInputStream(fileIn);
    Map map = (HashMap) in.readObject();
}

Я пытаюсь понять, что делает этот кусок кода.

Мы создаем поток, поэтому мы сможем читать из этого файла. Что это делает ObjectInputStream? Читаем ли мы объект и делаем ли из него карту? Я явно не понимаю и буду рад вашей помощи.

Ответы [ 2 ]

6 голосов
/ 11 сентября 2011

ObjectInputStream будет считывать объект, сериализованный в файл как ObjectOutputStream

public void bar(String fileName) throws IOException{
    FileInputStream fileIn = new FileInputStream(fileName); //1
    ObjectInputStream in = new ObjectInputStream(fileIn); //2
    Map map = (HashMap) in.readObject(); //3
}

, этот код будет

  1. создавать InputStream из fileName (строка, абсолютный путь к файлу)
  2. create ObjectInputStream, для чтения объектов, сохраненных в этом файле
  3. создаст HashMap объект, сохраненный в Map map переменную

Так что это означает, что вфайл, есть объект типа HashMap, который будет приведен к Map с этим кодом

4 голосов
/ 11 сентября 2011

Я предполагаю, что он читает HashMap, который был ранее записан в файл, используя соответствующие Out / Write методы.

...