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

È stato utile?

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
scroll top