Hallo, naja das ist jetzt kein Problem weil ich das schon gelöst habe aber wollte meine Erfahrung nur meinen Mitmenschen zur verfügung stellen...
Also ich schreibe gerade ein Programm bei dem ich Daten, unter anderem auch Files, über das Web schicke und so kam es das ich eine Leseschleife in meinem Testclient erstellt habe um das Filesenden zu testen...
die schaut mal so aus:
um den rest eizulesen gab es noch eine Leseoperation.
Tja das Problem daran war nur das immer das gleiche beim anderen Client ankam (es wurde allerdings die richtige Anzahl an bytes übertragen), also baute ich ein das er mir immer einen Teil des Lesearrays ausgibt. Tja da steht auch ,wie nicht anders zu erwarten, immer was anderes drinn. Allerdings würde bei dem letzten Datensatz auch etwas anderes übertragen, und der war ja nicht in der Leseschleife enthalten.
Nach mehreren Minuten herummprobieren kam ich auf die Idee den byte[] neu zu instanzieren und sieheda es funktionier!!!
Gibt es für dieses Verhalten des Vectors irgendeine Rationale begründung??
Also ich schreibe gerade ein Programm bei dem ich Daten, unter anderem auch Files, über das Web schicke und so kam es das ich eine Leseschleife in meinem Testclient erstellt habe um das Filesenden zu testen...
die schaut mal so aus:
Code:
for(i=0;((i+1)*16384)<file.length();i++)
{
fin.read(read); //einlesen aus einem FileInputStream
test=new Vector();
test.add(file.getPath());
test.add(read); //read is ein byte[] mit der größe 16384 also 16kb
msg=new Message(test,Message.DOWNLOAD_PART);
oout.writeObject(msg);
}
um den rest eizulesen gab es noch eine Leseoperation.
Tja das Problem daran war nur das immer das gleiche beim anderen Client ankam (es wurde allerdings die richtige Anzahl an bytes übertragen), also baute ich ein das er mir immer einen Teil des Lesearrays ausgibt. Tja da steht auch ,wie nicht anders zu erwarten, immer was anderes drinn. Allerdings würde bei dem letzten Datensatz auch etwas anderes übertragen, und der war ja nicht in der Leseschleife enthalten.
Nach mehreren Minuten herummprobieren kam ich auf die Idee den byte[] neu zu instanzieren und sieheda es funktionier!!!
Gibt es für dieses Verhalten des Vectors irgendeine Rationale begründung??