Domanda
Sto facendo un programma di crittografia e ho bisogno di salvare la password crittografata su un file usando il lettore e lo scrittore binario.Quando provo a leggere i dati fuori tutto quello che ottengo è un numero.Cosa ho fatto di sbagliato?
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;
}
.
E lo scrittore
public static void writeData(string fileName, string data)
{
using (BinaryWriter writer = new BinaryWriter(File.Open (fileName, FileMode.Create)))
{
writer.Write(data);
}
}
. Soluzione
Usa invece reader.ReadString()
.
data = reader.ReadString();
.
the Leggi Metodo legge il carattere successivo e restituisce il numero intero corrispondenteIl valore di esso come puoi vedere in Documentazione .Basicamente, haiScritto un string
al tuo file in formato binario, quindi è necessario leggerlo indietro.
Altri suggerimenti
Questo perché stai chiamando il metodo Read
che restituisce un singolo intero.¨
Vuoi fare ReadString
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow