Frage

Ich erstelle ein Verschlüsselungsprogramm und muss das verschlüsselte Passwort mit dem Binär-Reader und -Writer in einer Datei speichern.Wenn ich versuche, die Daten auszulesen, bekomme ich nur eine Zahl.Was habe ich falsch gemacht?

 public static string readData(string fileName)
    {
        string data;

        FileStream fStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);

        using (BinaryReader reader = new BinaryReader(fStream))
        {
            data = reader.Read().ToString();
        }

        return data;   
    }

Und der Schriftsteller

 public static void writeData(string fileName, string data)
 {

  using (BinaryWriter writer = new BinaryWriter(File.Open (fileName, FileMode.Create)))
        {
            writer.Write(data);
        }
    }
War es hilfreich?

Lösung

Verwenden reader.ReadString() stattdessen.

data = reader.ReadString();

Der Lesen Die Methode liest das nächste Zeichen und gibt den entsprechenden ganzzahligen Wert davon zurück, wie Sie in der sehen können Dokumentation.im Grunde genommen haben Sie eine geschrieben string in Ihre Datei im Binärformat, daher müssen Sie sie erneut lesen.

Andere Tipps

Das ist, weil Sie die generationspflichtige Methode anrufen, die eine einzige Ganzzahl zurückgibt.¨

Sie möchten Read .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top