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);
}
}
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