似乎您正在寻找的是可以使用Java Serialization
API执行的序列化。
如果决定使用诸如Apache Commons
Lang之类的已知库以及它的SerializationUtils类(其本身基于Java
Serialization API构建),则可以编写更少的代码。
使用最新的,将您的应用程序状态序列化/反序列化为文件的过程只需几行。
您唯一要做的就是创建一个保存应用程序状态的类,让我们称之为…
ApplicationState:-)它看起来可能像这样:
class ApplicationState { enum ProcessState { READ_DONE, PROCESSING_STARTED, PROCESSING_ENDED, ANOTHER_STATE; } private List<String> filesDone, filesToDo; private String currentlyProcessingFile; private ProcessState currentProcessState;}
使用这种结构,并使用SerializationUtils,可以通过以下方式完成序列化:
try { ApplicationState state = new ApplicationState(); ... // File to serialize object to String fileName = "applicationState.ser"; // New file output stream for the file FileOutputStream fos = new FileOutputStream(fileName); // Serialize String SerializationUtils.serialize(state, fos); fos.close(); // Open FileInputStream to the file FileInputStream fis = new FileInputStream(fileName); // Deserialize and cast into String String ser = (String) SerializationUtils.deserialize(fis); System.out.println(ser); fis.close(); } catch (Exception e) { e.printStackTrace(); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)