hej,
mam nastepujacy problem-mam metode ktora ma zapisywac do pliku. problemem jest jednak, ze przy kazdym zapisaniu nowy wpis nadpisuje stary:
public void writeToFile(byte[] _bytes){
try{
_dos = _fileConnection.openDataOutputStream();
_dos.write(_bytes, 0, _bytes.length);
_dos.flush();
_dos.close();
}catch(Exception e){ }
}//end of writeToFile() method
moge zrobic w ten sposob, ze za kazdym razem czytam z pliku i to co przeczytalam dodaje do tego nowego wpisu i zapisuje, cos na zasadzie:
A(stary wpis)+B(nowy wpis) = AB
zapisz(AB)
kod:
public void writeToFile(byte[] _bytes){
try{
_dos = _fileConnection.openDataOutputStream();
_dis = _fileConnection.openDataInputStream();
int _c;
StringBuffer _sb = new StringBuffer();
while( (_c = _dis.read()) != -1 ){
_sb.append( (char)_c);
}
String _str = new String(_bytes);
_sb.append(_str);
_dos.write(_sb.toString().getBytes());
_dos.flush();
_dos.close();
_dis.close();
}catch(Exception e){ }
}//end of writeToFile() method
nie podoba mi sie jednak ten sposob, bo mysle sobie ze w przypadku gdy moj plik bedzie duzy, ten sposob bedzie malo wydajny. bo nie dosc ze wpierw musze wszystko przeczytac, to potem jeszcze to dodac do nowego wpisu i calosc zapisac..
czy ktos z Was moglby mi zasugerowac jakis inny sposob?
pzdr,
misty