2013-09-15 3 views
3

У меня есть вопрос о следующем коде. Я создаю три экземпляра моего класса Player, а затем я сохраняю их в файле.Сохранение объектов с помощью Java

Player a = new Player(1, "asd"); 
Player b = new Player(2, "asd"); 
Player c = new Player(3, "asd"); 

try { 
    FileOutputStream fos = new FileOutputStream("Game.ser"); 
    ObjectOutputStream oos = new ObjectOutputStream(fos); 

    oos.writeObject(a); 
    oos.writeObject(b); 
    oos.writeObject(c); 

    oos.close(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Что происходит с Game.ser? Является ли это файлом, который фактически создан, или он находится только внутри программы? Если нет, то где он находится? Я не нашел его в любой папке проекта.

Программа работает нормально. Мне просто интересно, где сохраняются объекты.

+0

В том же месте у вас есть Game.class (предполагается, что Game - это класс, который вы нам показываете). –

+0

Создается в текущем рабочем каталоге, где приложение. –

ответ

4

Если путь предоставляется в

FileOutputStream fos = new FileOutputStream("Game.ser"); 

не является абсолютным, оно создается/открываемых по отношению к папке, java заявка была запущена с.

В среде IDE, такой как Eclipse, приложение обычно запускается из вашего каталога Project. Если ваш проект, например

C:\Users\You\workspace\MyApplication 

файл будет создан в

C:\Users\You\workspace\MyApplication\Game.ser 

Вы можете получить этот путь, запустив

System.getProperty("user.dir"); 

Путь, ваш предоставлять FileOutputStream, если он не является абсолютным, будет относиться к этому.

6

Они сохранены в пути приложения. Вы можете использовать

new File("Game.ser").getAbsolutePath() 

отображать их местоположение

Смежные вопросы