Files
ATCS/src/com/gpl/rpg/atcontentstudio/io/SettingsSave.java
2025-06-21 18:36:37 +02:00

71 lines
2.5 KiB
Java

package com.gpl.rpg.atcontentstudio.io;
import com.gpl.rpg.atcontentstudio.Notification;
import java.io.*;
public class SettingsSave {
public static void saveInstance(Object obj, File f, String type) {
try {
FileOutputStream fos = new FileOutputStream(f);
try {
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.flush();
oos.close();
Notification.addSuccess(type + " successfully saved.");
} catch (IOException e) {
e.printStackTrace();
Notification.addError(type + " saving error: " + e.getMessage());
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
Notification.addError(type + " saving error: " + e.getMessage());
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
Notification.addError(type + " saving error: " + e.getMessage());
}
}
public static Object loadInstance(File f, String type) {
FileInputStream fis;
Object result = null;
try {
fis = new FileInputStream(f);
ObjectInputStream ois;
try {
ois = new ObjectInputStream(fis);
try {
result = ois.readObject();
Notification.addSuccess(type + " successfully loaded.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
Notification.addError(type + " loading error: " + e.getMessage());
} finally {
ois.close();
}
} catch (IOException e) {
e.printStackTrace();
Notification.addError(type + " loading error: " + e.getMessage());
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
Notification.addError(type + " loading error: " + e.getMessage());
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
Notification.addError(type + " loading error: " + e.getMessage());
}
return result;
}
}