سؤال

أقوم بإنشاء برنامج تشفير وأحتاج إلى حفظ كلمة المرور المشفرة في ملف باستخدام القارئ والكاتب الثنائي.عندما أحاول قراءة البيانات، كل ما أحصل عليه هو رقم.أي خطأ ارتكبت؟

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

والكاتب

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

  using (BinaryWriter writer = new BinaryWriter(File.Open (fileName, FileMode.Create)))
        {
            writer.Write(data);
        }
    }
هل كانت مفيدة؟

المحلول

يستخدم reader.ReadString() بدلاً من.

data = reader.ReadString();

ال يقرأ تقرأ الطريقة الحرف التالي وترجع القيمة الصحيحة المقابلة له كما ترون في ملف توثيق.في الأساس، كنت قد كتبت string إلى الملف الخاص بك بتنسيق ثنائي، لذلك تحتاج إلى قراءته مرة أخرى.

نصائح أخرى

هذا لأنك تتصل بـ Read الطريقة التي ترجع عددا صحيحا واحدا.¨

تريد ان تفعل ReadString.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top