Различается ли инициализация ObjectInputStream и Out в методе - PullRequest
0 голосов
/ 15 мая 2019

Я новичок здесь, я сожалею о записи или любой проблеме, которую я хочу прочитать объект из файла, который имеет .ser объект является Hashmap, и он возвращает ноль, когда я инициализирую из другого метода и вызываю его, но этовозвращает hashmap, когда я инициализирую его в том же методе, и эта проблема также в objectoutputstream. ObjectInput возвращает null и EFOException. Есть ли какая-либо разница между Initialize из другого метода и вызовом их?Puttream

Это никогда не работает правильно

private void openTheOutPutObjectStreamer()throws IOException{

        out =new ObjectOutputStream(new FileOutputStream(userData));

    }
    private void openTheInPutObjectStreamer()throws IOException{

        in =new ObjectInputStream(new FileInputStream(userData));
    }

private void initializeHashMap(){

        openTheInPutObjectStreamer();
            temp = (HashMap<Integer, PlayerInfo>) in.readObject();

}

private void createInfo()throws IOException{

        openTheOutPutObjectStreamer();
        out.writeObject(temp);

}

Это работает правильно

private void createInfo()throws IOException{

        out =new ObjectOutputStream(new FileOutputStream(userData));
        out.writeObject(temp);

}

    private void initializeHashMap(){


   in =new ObjectInputStream(new FileInputStream(userData));
   temp = (HashMap<Integer, PlayerInfo>) in.readObject();

}

Единственная разница в первом я инициализировать ввод / вывод в другом методе и явызвать его, но в coreect я его инициализировал и закрыл в том же методе out / in

...