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

نام تاپیک: مشکل در Delete کردن فایل

  1. #1

    مشکل در Delete کردن فایل

    سلام
    دوستان من یه تیکه کد دارم به شکل زیر که خط آخر که میخوام فایل و delete کنم همش ایراد مییگیره . چرا ؟

    private void button1_Click(object sender, EventArgs e)
    {
    txtpath.Text = null;
    txtisbn.Text = null;
    txtpdf.Text = null;
    OpenFileDialog opf = new OpenFileDialog();
    DialogResult result = opf.ShowDialog();
    opf.Filter = "pdf file (*.pdf)|*.Pdf";
    try
    {
    txtpath.Text = opf.FileName;
    txtpdf.Text = ExtractTextFromPdf(txtpath.Text);
    string f = txtpdf.Text;
    string sPattern = "\\d{3}-\\d{1}-\\d{3}-\\d{5}-\\d{1}";
    var s = Regex.Match(f, sPattern, RegexOptions.IgnoreCase);
    txtisbn.Text = s.ToString();
    //txtpdf.SelectionStart = txtpdf.Find("isbn"+txtisbn.Text);
    //txtpdf.SelectionColor = Color.Red;
    //txtpdf.SelectionBackColor = Color.Yellow;
    }
    catch
    {
    if (result == DialogResult.OK)
    {
    txtisbn.Text = "کد انتشار یافت نشد";
    }
    }
    if (result == DialogResult.OK)
    {
    string fileName = opf.FileName;
    string path = Path.GetDirectoryName(fileName);
    string pp = txtisbn.Text + ".pdf";
    File.Copy(fileName, Path.Combine(path, pp), true);
    opf.Disposed();
    File.Delete(fileName);
    }
    }


    قسمت try cach یه کاری رو فایل می کنم که pdf و گرفتم تبدیل به text کردم
    گیرم رو خط File.Delete هستش که همش میگه
    An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll


    Additional information: The process cannot access the file 'C:\Users\Admin\Downloads\re\45646.pdf' because it is being used by another process.

    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 25 اسفند 1395 در 22:00 عصر

  2. #2

    نقل قول: مشکل در Delete کردن فایل

    این خطا میگه که PDF توسط برنامه دیگری در حال استفاده است ، یا اینکه میخواین یک PDF رو که باز هست حذف کنید
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 25 اسفند 1395 در 22:01 عصر

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: مشکل در Delete کردن فایل

    احتمالا در تابع ExtractTextFromPDF فایل رو باز میکنید ولی آزادش نمیکنید اگر این تابع از پروسس دیگه ای استفاده میکنه باید اون پروسس بسته شه (فکر کنم میشه بدون بستن هم فایل رو آزاد کرد) یا اگر پروسه شما اون رو باز کرده خودتون ببندید یا دسترسی رو تغییر بدین.

  4. #4

    نقل قول: مشکل در Delete کردن فایل

    خیلی محبت کردین ، اما این مطلب که فرمودید برگردان فارسی همون پیغام هستش ، راه کار شما چیه ؟
    اینم همون تیکه کد فرخوان PDF هستش ، که تو خط 17 فرخوانش می کنم

    public static string ExtractTextFromPdf(string path)
    {
    PdfReader reader = new PdfReader(path);
    StringBuilder text = new StringBuilder();

    for (int i = 1; i <= reader.NumberOfPages; i++)
    {
    text.Append(PdfTextExtractor.GetTextFromPage(reade r, i));
    }

    return text.ToString();

    }

  5. #5

    نقل قول: مشکل در Delete کردن فایل

    مشکل و پیدا کردم و حل شد : گفتم بگم اینجا که شاید به کار دوستان بیاید .
    نکته در استفاده از دستور Using هستش ، خودش اتوماتیک Dispose میکنه تابع رو .
    یعنی در هنگام تعریف متدم که برای extrac کردن PDF نوشته بودم ، از دستور زیر اسفتاده کردم :


    public static string ExtractTextFromPdf(string path)
    {
    using (PdfReader reader = new PdfReader(path))
    {
    StringBuilder text = new StringBuilder();

    for (int i = 1; i <= reader.NumberOfPages; i++)
    {
    text.Append(PdfTextExtractor.GetTextFromPage(reade r, i));
    }
    return text.ToString();
    }
    }

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: مشکل در Delete کردن فایل

    شما که کد نزاشته بودین از کجا باید فهمید چیکار کردید که بشه راهنمایی کرد.
    توی این مورد شما متد Close یا Dispose رو باید بعد از اتمام کار صدا میکردین که نکردید (using خودش این کار رو میکنه.)

تاپیک های مشابه

  1. یک مشکل هنگام کپی کردن فایل مربوط به بانک
    نوشته شده توسط ghaum در بخش SQL Server
    پاسخ: 4
    آخرین پست: دوشنبه 26 اردیبهشت 1384, 00:00 صبح
  2. مشکل در delete کردن record
    نوشته شده توسط در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 31 مرداد 1383, 18:47 عصر
  3. مشکل در Delete کردن فایل MDB از داخل برنامه
    نوشته شده توسط Fardin_Lord در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: دوشنبه 26 مرداد 1383, 00:47 صبح

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

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