2016-04-24 6 views
0

Ich erstellte eine BitSet namens b und speicherte sie in eine Datei mit diesem Code-Snippet in Java.Wie bekomme ich das Bitset von einer Datei, die in Java als Bytearrayoutputstream gespeichert wurde?

byte[] bs = b.toByteArray(); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    baos.write(bs); 
    FileOutputStream fr_out = new FileOutputStream("output.txt"); 
    baos.writeTo(fr_out); 

Jetzt kann jemand mir helfen, herauszufinden, wie diese "output.txt" Datei zu lesen und die BitSet „b“ zurück?

Dank

Bearbeiten in Bezug auf diese Frage als Duplikat markiert werden: Der oben angegebene Link in ihren Kommentaren eine Lösung im Rahmen der Diskussion Leute hätten haben können, aber nicht in dem tatsächlichen Antworttext-Feld. Nicht zu erwähnen, die obige Frage bezieht sich nicht auf die Frage, wie wir eine BitSet erhalten können, es spricht nur darüber, wie man eine byte zurück erhält. In der Tat war es ein ganz anderes Problem, vor dem ich vor einem Tag stand, aber diese Frage ist völlig anders als die, die ich oben erklärt habe. Daher möchte ich die Gemeinschaft und die Personen bitten, ihre Aktion, diese Frage als Duplikat zu markieren, mit einer anderen Frage von mir selbst zu überdenken.

TLDR: Diese Frage gefragt, was ist 2 + 2 =?, Und die andere Frage gefragt, was ist 2 * 2 =?, Aber während Antwort 2 * 2, antwortete jemand auch 2 + 2 =? (Ich habe Stunden gebraucht, um die Lösung zu finden, und ich habe es aus einem anderen Link gemacht, nicht aus dem oben genannten). Nur weil Antworten ähnlich sind, heißt das nicht, dass Fragen sind und vor allem möchte ich nicht, dass ein Programmierer weiter sucht Dinge für Stunden, wenn sie nur diese Frage nachschlagen und herausfinden konnten, wie man Dinge macht, anstatt das gesamte Web durchzugehen.

Danke.

+0

Diese Frage ** ist ** ein Duplikat der Frage, die Sie gestern gestellt haben. Wenn Sie dachten, dass ** diese ** Frage nicht als Duplikat betrachtet werden soll, sollten Sie ** diese neue Frage nicht ** gestellt, sondern Ihre vorherige Frage bearbeitet haben. – Bakuriu

+0

Beide Fragen sind wirklich unterschiedlich, also wie kann ich diese andere Frage bearbeiten, wenn sie vollkommen echt ist? Es ist einfach passiert, dass es eine andere Frage für "diese" Frage gab, die bereits auf dem Stapelüberlauf war, aber diese Frage wurde nie zuvor angesprochen, ich bin das lebende Beispiel, wie es 2 Stunden dauerte, um eine Lösung für diese Frage zu finden. Ich möchte Sie noch einmal daran erinnern, dass diese Frage bittet BitSet zurück zu bekommen, nicht das Byte selbst (was ich in meiner vorherigen Frage gefragt habe, die bereits auf SO beantwortet wurde, was ich stimme, war ein Duplikat), daher in keiner Weise ist ein Duplikat. – theprogrammer094

+0

Also, auch nach der Bereitstellung einer kristallklaren Erklärung, denkt die Gemeinschaft immer noch, dass dies ein Duplikat ist? – theprogrammer094

Antwort

0

Da es noch keine Antworten gibt, möchte ich eine der Möglichkeiten veröffentlichen, wie ich das aussortiert habe, aber es wäre toll, wenn jemand mit mehr Erfahrung eine bessere Lösung geben könnte. Hier ist, was ich getan habe, um meine BitSet aus der Datei (zu der ich schrieb BitSet mit toByteArray() Methode und ByteArrayOutputStream) zurück.

Path path = Paths.get("output.txt"); 
    byte[] ans = Files.readAllBytes(path); 
    BitSet bits = BitSet.valueOf(ans); 

Jetzt Bits hat das ursprüngliche BitSet.

Verwandte Themen