Для этого вам понадобятся две вещи: A) Доступ/создание определенной папки B) На самом деле сериализуйте свои объекты и сохраните их на диск.
Для A) на это, безусловно, отвечают другие ответы здесь, которые показывают, как: 1) Проверьте, существует ли папка. 2) Создайте папку, если она не существует. Кроме того, проекты, запущенные в eclipse, имеют в качестве рабочего каталога папку проекта eclipse.
Для B) вам необходимо сериализовать объекты с помощью FileOutputStream. См. http://www.tutorialspoint.com/java/java_serialization.htm. Вы можете сериализовать каждый объект в отдельный файл или создать один класс с ArrayList (или некоторой другой структурой данных), содержащий ссылки на все объекты.
Ниже образца класса, выполняющего только то, что вы просили, используя статические методы, поскольку я не хотел создавать экземпляр объекта. Кроме того, вам нужно нажать F5 в проекте eclipse, чтобы обновить проводник пакетов и просмотреть новую папку и файлы.
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class CreateDirAndSerialize {
public static void main(String args[])
{
ArrayList<String> sampleString = new ArrayList<String>();
sampleString.add("Test1");
sampleString.add("Test2");
sampleString.add("Test2");
//Get the directory
File directory = getSerializedDirectory();
writeObjects(directory, sampleString);
}
public static void writeObjects(File directory, Object object)
{
try
{
FileOutputStream fileOut =
new FileOutputStream(directory+"//serializedData");
ObjectOutputStream out =
new ObjectOutputStream(fileOut);
out.writeObject(object);
out.close();
fileOut.close();
}catch(IOException i)
{
i.printStackTrace();
}
}
public static File getSerializedDirectory()
{
File serializedDir = new File("serialized");
if (!serializedDir.exists()) {
serializedDir.mkdir();
}
return serializedDir;
}
}
Поскольку вопрос упомянутых проектов в затмении, выше для кода в проекте Eclipse. Если вы хотите взаимодействовать с самим Eclipse, мы говорим о разработке плагина eclipse, который является еще одной историей, поэтому вам нужно указать это.
Наконец, вы также можете создать собственный класс, содержащий любые переменные, которые вы хотите, и создать экземпляр объекта singleton для размещения всех ваших других объектов. Однако существуют некоторые ограничения при сериализации объектов, например. : - Ссылки на объекты со статическим модификатором не являются сериализуемыми.
Смотрите это для некоторых правил/советов для некоторых сериализации: http://www.xyzws.com/Javafaq/what-are-rules-of-serialization-in-java/208
+1 для полного ответа с рабочим кодом. –