package cn.javass.jxc.common.dao.impl;import java.util.List;import cn.javass.jxc.common.constance.UuidModelConstance;
import cn.javass.jxc.common.dao.dao.UuidDao;
import cn.javass.jxc.common.vo.UuidModel;
import cn.javass.jxc.io.SerUtil;public class UuidImpl implements UuidDao {
private static final String FILE_NAME="Uuid.txt"; public String getNextNum(UuidModelConstance umdc) {
final String modelName = umdc.getName();
List<UuidModel>  list = SerUtil.readfile(FILE_NAME);//at cn.javass.jxc.io.SerUtil.readfile
for (UuidModel uuid : list) {
if (uuid.getModelName().equals(modelName)) {
final int result=uuid.getCurrentNum();
uuid.setCurrentNum(uuid.getCurrentNum() + 1);
SerUtil.writeFle(list, FILE_NAME);
return String.valueOf(result);
}
}
final int result=1;
UuidModel um=new UuidModel();
um.setModelName(modelName);
um.setCurrentNum(2);
list.add(um);
SerUtil.writeFle(list, FILE_NAME);
return String.valueOf(result);
}
public static void main(String[] args) {
UuidImpl dao =new UuidImpl();
System.out.print(dao.getNextNum(UuidModelConstance.USER));//at cn.javass.jxc.common.dao.impl.UuidImpl.main
}}运行时出错java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: cn.javass.jxc.common.vo.UuidModel
调用的类package cn.javass.jxc.common.vo;import java.io.Serializable;public class UuidModel implements Serializable{
private String modelName;
private int currentNum;
public String getModelName() {
return modelName;
}
public void setModelName(String modelName) {
this.modelName = modelName;
}
public int getCurrentNum() {
return currentNum;
}
public void setCurrentNum(int currentNum) {
this.currentNum = currentNum;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((modelName == null) ? 0 : modelName.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final UuidModel other = (UuidModel) obj;
if (modelName == null) {
if (other.modelName != null)
return false;
} else if (!modelName.equals(other.modelName))
return false;
return true;
}

}
package cn.javass.jxc.io;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;public class SerUtil {
private SerUtil(){

}
public static List readfile(String filename){
List list=null;
File file=new File(filename);
if(file.exists()){
ObjectInputStream input=null;
try {
input = new ObjectInputStream(new FileInputStream(filename));
list = (List) input.readObject();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if (input != null) {
input.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}else{
list=new ArrayList();
}
return list;
}
public static void writeFle(List list,String filename){
ObjectOutputStream output=null;
try {
output = new ObjectOutputStream(new FileOutputStream(filename));
output.writeObject(list);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if (output != null) {
output.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

}