Temat: Zapis i odczyt obiektów
Cały kod jest sporych rozmiarów, ale sposób tworzenia, zapisywania jest następujący:
Object[] objekt=new Object[5];
objektTemp=new Object[con1Wymiar][6];
for(int i=0;i<con1Wymiar;i++)
{
objektTemp[i][0]=con1[i].getWagi();
objektTemp[i][1]=con1[i].getDWag();
objektTemp[i][2]=con1[i].getOldDWag();
objektTemp[i][3]=con1[i].getBias();
objektTemp[i][4]=con1[i].getDBias();
objektTemp[i][5]=con1[i].getOldDBias();
}
objekt[0]=objektTemp;
objektTemp=new Object[con2Wymiar][6];
for(int i=0;i<con2Wymiar;i++)
{
objektTemp[i][0]=con2[i].getWagi();
objektTemp[i][1]=con2[i].getDWag();
objektTemp[i][2]=con2[i].getOldDWag();
objektTemp[i][3]=con2[i].getBias();
objektTemp[i][4]=con2[i].getDBias();
objektTemp[i][5]=con2[i].getOldDBias();
}
objekt[1]=objektTemp;
objektTemp=new Object[1][6];
objektTemp[0][0]=fc1.getWagi();
objektTemp[0][1]=fc1.getDWag();
objektTemp[0][2]=fc1.getOldDWag();
objektTemp[0][3]=fc1.getBias();
objektTemp[0][4]=fc1.getDBias();
objektTemp[0][5]=fc1.getOldDBias();
objekt[2]=objektTemp;
objektTemp=new Object[1][6];
objektTemp[0][0]=fc2.getWagi();
objektTemp[0][1]=fc2.getDWag();
objektTemp[0][2]=fc2.getOldDWag();
objektTemp[0][3]=fc2.getBias();
objektTemp[0][4]=fc2.getDBias();
objektTemp[0][5]=fc2.getOldDBias();
objekt[3]=objektTemp;
objektTemp=new Object[1][6];
objektTemp[0][0]=fc3.getWagi();
objektTemp[0][1]=fc3.getDWag();
objektTemp[0][2]=fc3.getOldDWag();
objektTemp[0][3]=fc3.getBias();
objektTemp[0][4]=fc3.getDBias();
objektTemp[0][5]=fc3.getOldDBias();
objekt[4]=objektTemp;
ZapiszObjekt.zapiszObiekt(objekt,
"SiecV3_3_1\\..\\WspolneWagi\\WB_"+nazwaUczonejSieci);
jak wynika z kodu wszystko powinno być ok. Może robię jakiś błąd. Lepiej może dopisać nowe klasy do przechowywania tablic i wykorzystać mechanizm serializacji?
Tak przy okazji. Zapisując tablicę o dużych wymiarach (kilka tyś.) do pliku txt to czas znacząco się wydłuża nawet do kilku minut. Jest to wykładniczy wzrost. Jak można zapisywać wydajnie takie tablice do pliku txt?
Wiesław Kurko edytował(a) ten post dnia 09.05.09 o godzinie 10:56