1 package com.ranfa.lib.io;
3 import java.io.FileInputStream;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.ObjectInputStream;
7 import java.io.ObjectOutputStream;
8 import java.text.SimpleDateFormat;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
16 private static Logger logger = LoggerFactory.getLogger(FileIO.class);
19 private static final String FILE_NAME_PATTERN = "YYYY-MM-dd-HH-mm-ss";
20 private static final String FILE_EXTENSION = ".drs";
30 private OutputDataStructure data;
33 public FileIO(OutputDataStructure data) {
37 public void write() throws IOException {
38 StringBuilder builder = new StringBuilder(new SimpleDateFormat(FILE_NAME_PATTERN).format(new Date()));
39 builder.append(FILE_EXTENSION);
40 ObjectOutputStream outStream = new ObjectOutputStream(new FileOutputStream(builder.toString()));
41 outStream.writeObject(data);
45 public static OutputDataStructure read(String fileName) {
46 FileInputStream fileInputStream;
48 fileInputStream = new FileInputStream(fileName);
49 ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
50 OutputDataStructure structure = (OutputDataStructure) objectInputStream.readObject();
51 objectInputStream.close();
53 } catch (IOException | ClassNotFoundException e) {
54 logger.error("Exception while reading objects", e);