package test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import org.omg.CORBA.PRIVATE_MEMBER; //将内存中的一个对象持久化到一个文件中 public class Persistence23 { private static Map variables = null; private static String saveFileName = System.getProperty("java.io.tmpdir")+"/temp.object"; static { if (new File(saveFileName).exists()) { try { FileInputStream inputStream = new FileInputStream(saveFileName); ObjectInputStream objectInputStream = new ObjectInputStream(inputStream); variables = (Map) objectInputStream.readObject(); objectInputStream.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); } } else { if (variables == null) { variables = new HashMap(); } } } public static String setVariable(Serializable value) { String randomNameString = new Random().nextLong() + ""; if (variables != null) { variables.put(randomNameString, value); } // saveToFile(); return randomNameString; } private static void saveToFile() { try { FileOutputStream outputStream = new FileOutputStream(saveFileName); ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream); objectOutputStream.writeObject(variables); objectOutputStream.flush(); // objectOutputStream.close(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } } public static Serializable getVariable(String name) { if (variables != null) { return (Serializable) variables.get(name); } return null; } public static void testsaveToFile() { /*List<String> arraies = new ArrayList<String>(); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); arraies.add(Persistence.setVariable("sdf")); for (int i = 0; i < arraies.size(); i++) { System.out.print( arraies.get(i)+" "); System.out.println(Persistence.getVariable(arraies.get(i))); }*/ System.out.println("1689105960272394008|product"); System.out.println(com.oa.listenner.Persistence.getVariable("1689105960272394008")); } public static void testReadFromFile() { System.out.println(Persistence23.getVariable("ss1")); System.out.println(Persistence23.getVariable("ss2")); } public static void main(String[] args) { // System.out.println(variables.size()); // testsaveToFile(); String name="sfasf3435s|sfsaf"; System.out.println(name.replaceAll("(.*)\\|.*", "$1")); // testReadFromFile(); System.out.println(Persistence23.class.getClass().getClassLoader().getResource("/").getPath()); // System.out.println(System.getProperty("java.io.tmpdir")); } }