개체 목록을 deserialize 할 때 몇 가지 문제가 있습니다. 개체 목록을 .dat 파일로 검색했습니다. 나중에 해당 파일에서 데이터를 검색하려는 경우 해당 목록을 deserialize하려고하면 원하는 결과를 얻지 못합니다. 여기에 코드가 있습니다.개체 목록 비 직렬화 java
직렬화 : 여기
MyFile mf = new MyFile("2012-12-18.dat");
mf.Open();
FileOutputStream fos = mf.GetOS();
Iterator<Element> currencies = cube.select("Rate").iterator();
ISerializare[] lista = new ISerializare[31];
int i=0;
while (currencies.hasNext()){
MyCurrency newCurrency=new MyCurrency();
Element newElement=currencies.next();
newCurrency.setSymbol(newElement.attr("currency"));
newCurrency.setValue(Double.parseDouble(newElement.text()));
lista[i] = newCurrency;
System.out.println(newCurrency.toString());
i++;
}
DataOutputStream dos = new DataOutputStream(fos);
for(int j=0;j<i;j++){
lista[j].ObjectSerialization(dos);
}
dos.close();
public class MyFile {
File fisier;
String name;
public MyFile(String n){
name = n;
}
public void Open(){
fisier = new File(name);
}
public FileOutputStream GetOS() throws IOException{
return new FileOutputStream(fisier);
}
public FileInputStream GetIS() throws IOException{
return new FileInputStream(fisier);
}
}
MyFile mf = new MyFile("2012-12-18.dat");
mf.Open();
FileInputStream fis = mf.GetIS();
DataInputStream dis = new DataInputStream(fis);
for(ISerialization element:list){
element.ObjectDeserialization(dis);
System.out.println(element.toString());
및 MyCurency 클래스는 다음과 같습니다
public class MyCurrency implements ISerialization
{
private String symbol;
private double value;
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
public String toString(){
return symbol +" = "+value + " RON";
}
@Override
public void ObjectSerialization(DataOutputStream dos) throws IOException {
dos.writeDouble(value);
}
@Override
public void ObjectDeserialization(DataInputStream dis) throws IOException {
value = dis.readDouble();
}
당신은 무엇이 잘못되었는지 말해 주실 래요?
지금 조금에게 코드를 변경했습니다 작성합니다 방법이다. 어쩌면이 시간은 읽기가 더 쉽습니다. 고마워요 – Cristina
당신이 생각하는 것을 잘못 이해할 수 있습니까? –
나는 어떤 오류도 발생하지 않으므로 나는 무엇이 잘못되었는지를 정말로 모른다. 객체 목록을 역 직렬화하려고 할 때 문제가 발생했다고 생각합니다. – Cristina