نمایش نتایج 1 تا 7 از 7

نام تاپیک: End of Stream encountered before parsing was completed.

  1. #1

    End of Stream encountered before parsing was completed.

    سلام
    بازم exception عکس میزارم MSDN هم گشتم ولی چیزی تفهمیدم ...


  2. #2
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: End of Stream encountered before parsing was completed.

    یعنی stream شما محتواش آسیب دیده یا connection ی چیزی قطع شده.
    تا کد اینجا نزارید که چیزی معلوم نمیشه.
    آخرین ویرایش به وسیله FastCode : دوشنبه 01 شهریور 1389 در 13:57 عصر

  3. #3

    Talking نقل قول: End of Stream encountered before parsing was completed.

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    یعنی سفقثشپ شما محتواش آسیب دیده یا connection ی چیزی قطع شده.
    تا کد اینجا نزارید که چیزی معلوم نمیشه.

     public static string searchWord(string word)
    {
    if (File.Exists("Words.wd"))
    {
    using (FileStream objFS = new FileStream("Words.wd", FileMode.Open, FileAccess.Read))
    {
    StreamReader objSR = new StreamReader(objFS, Encoding.UTF8);
    BinaryFormatter objBF = new BinaryFormatter();
    objFS.Seek(0, SeekOrigin.Begin);
    while (objFS.Position != objFS.Length)
    {
    Word objWord = new Word();
    objWord = (Word)objBF.Deserialize(objFS);
    if (string.Compare(objWord.EStr.ToLower(), word.ToLower()) == 0)
    {
    return objWord.PStr;
    }
    //objFS.Position = 0;
    }
    objFS.Close();
    //objSR.Close();
    }
    }

    return "";
    }

    خط آبی exception میده ...

  4. #4
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: End of Stream encountered before parsing was completed.

    این کاری که شما کردی اصلاْ اصولی نیست.
    برای این کارها از یه فایل sqlite استفاده کنید.
    کد نویسیش کمتره.سرعتش خیلی بیشتره.یعنی یه چیزی حدود ۱ میلیون برابر توی یه میلیون کلمه.
    و فایلش یه این راحتی آسیب نمیبینه.

    مشکل فایل شما هم الان میتونه این باشه که واقعاْ آسیب دیده.چون من چیز زیادی از کد شما متوجه نشدم.

  5. #5

    نقل قول: End of Stream encountered before parsing was completed.

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    این کاری که شما کردی اصلاْ اصولی نیست.
    برای این کارها از یه فایل sqlite استفاده کنید.
    کد نویسیش کمتره.سرعتش خیلی بیشتره.یعنی یه چیزی حدود ۱ میلیون برابر توی یه میلیون کلمه.
    و فایلش یه این راحتی آسیب نمیبینه.

    مشکل فایل شما هم الان میتونه این باشه که واقعاْ آسیب دیده.چون من چیز زیادی از کد شما متوجه نشدم.
    سلام ممنون از چواب اگه میشه یه منبع در مورد این sqlite به من بدین

    در مورد اینکه میگین فایل ممکنه آسیب دیده باشه من این طور فک نمیکنم

    به این قسمت از کد دقت کنید :

    if (string.Compare(objWord.EStr.ToLower(), word.ToLower()) == 0)
    {
    return objWord.PStr;
    }


    هر موقع این if و true میشه برنامه هیچ مشکلی نداره اما هر موقع false میشه eception میده این کمکی نمیکنه مشکل مشخص بشه ؟؟

  6. #6
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: End of Stream encountered before parsing was completed.

    ایراد 1.
    = new Word();
    اضافیه.
    ایراد 2.
    اگر اینطور که گفتید باشه,فقط یه کلمه توی فایلتون هست.

  7. #7

    Talking نقل قول: End of Stream encountered before parsing was completed.

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    ایراد 1.
    = new Word();
    اضافیه.
    ایراد 2.
    اگر اینطور که گفتید باشه,فقط یه کلمه توی فایلتون هست.
    بله درسته یک کلمه بیشتر نداره اصلا من خودم به فایل کلمه اضافه میکنم فعلا هم فقط یه کلمه بیشتر داخلش نزاشتم

    من یک کلمه رو میدم به تابع اون داخل فایلو میگرده که آیا کلمه مشابهی هست اگه هست که :
    return objWord.PStr;

    حالا اگه نیست چرا exception میده با تموم شدن FileStream (اینجا objFS) از حلقه WHILE بره بیرون

    من با این کد داخل فایل مینویسم

    private void btnAdd_Click(object sender, EventArgs e)
    {
    Word objWord = new Word();
    objWord.PStr = txtPersian.Text;
    objWord.EStr = txtEnglish.Text;
    BinaryFormatter objBF = new BinaryFormatter();
    try
    {
    FileStream objFS = new FileStream("Words.wd", FileMode.Append, FileAccess.Write);
    StreamWriter objSW = new StreamWriter(objFS, Encoding.UTF8);
    objFS.Seek(0, SeekOrigin.Current);
    objBF.Serialize(objFS, objWord);
    objSW.Close();
    objFS.Close();


    }
    catch (Exception error)
    {
    MessageBox.Show(error.Message);
    }
    }



    اگه میشه یه منبع در مورد این sqlite به من بدین

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •