Question

Je crée un programme de cryptage et je dois enregistrer le mot de passe crypté dans un fichier à l'aide du lecteur et de l'écrivain binaires.Lorsque j'essaie de lire les données, tout ce que j'obtiens est un nombre.Qu'ai-je fait de mal?

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

Et l'écrivain

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

  using (BinaryWriter writer = new BinaryWriter(File.Open (fileName, FileMode.Create)))
        {
            writer.Write(data);
        }
    }
Était-ce utile?

La solution

Utiliser reader.ReadString() plutôt.

data = reader.ReadString();

Le Lire La méthode lit le caractère suivant et renvoie la valeur entière correspondante, comme vous pouvez le voir dans le Documentation.en gros, vous avez écrit un string dans votre fichier au format binaire, vous devez donc le relire.

Autres conseils

C'est parce que vous appelez le Read méthode qui renvoie un seul entier.¨

Vous voulez faire ReadString.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top