폴더를 삭제했지만 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

Chopperfield

그래서 버튼을 클릭하면 그림 편집이 폴더 파일에서 이미지를 가져 오는 간단한 프로젝트를 만들었지 만 이미지가 포함 된 폴더를 삭제하고 싶을 때 오류가 발생합니다. 다음과 같은 코드

 private void button1_Click(object sender, EventArgs e)
    {
        string pathx = AppDomain.CurrentDomain.BaseDirectory + "\\TempImage\\" + "naruto" + ".png";
        pictureEdit1.Image = Image.FromFile(pathx);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        string dir = AppDomain.CurrentDomain.BaseDirectory + "\\TempImage";
        try {
            if (Directory.Exists(dir))
            {
                //////give me an error in here///////
                Directory.Delete(dir, true);
            }
            else
            {
                MessageBox.Show("folder not found");
            }
        }
        catch (Exception ex)
            {
            MessageBox.Show(ex.Message);
        }

    }

여기에 이미지 설명 입력

이것의 목적은 캐시 목적으로 내 메인 프로젝트에 있습니다. 그래서 서버에서 로컬로 복사 한 후 특정 폴더에서 이미지를 얻습니다. 메인 프로젝트를 닫으려면 캐시 나 폴더를 지워야합니다.

최신 정보

더 나은 대안 1 또는 대안 2 (처분)

   private void button1_Click(object sender, EventArgs e)
    {
        string pathx = AppDomain.CurrentDomain.BaseDirectory + "\\TempImage\\" + "naruto" + ".png";

        //alternate1
        using (FileStream stream = new FileStream(pathx, FileMode.Open, FileAccess.Read))
        {
            pictureEdit1.Image = Image.FromStream(stream);
            //stream.Dispose();
        }

        //alternate2
        //Image img = new Bitmap(pathx);
        //pictureEdit1.Image = img.GetThumbnailImage(pictureEdit1.Width, pictureEdit1.Height, null, new IntPtr());
        //img.Dispose();

    }
Lusid

System.Drawing.Bitmap ( http://msdn.microsoft.com/en-us/library/0cbhe98f.aspx ) 에 대한 설명서 는 다음과 같습니다.

파일은 Bitmap이 삭제 될 때까지 잠겨 있습니다.

이 문제를 해결하려면 다음 줄을 바꿔야합니다.

pictureEdit1.Image = Image.FromFile(pathx);

이것으로 :

Image img = new Bitmap(pathx);
pictureEdit1.Image = img.GetThumbnailImage(pictureEdit1.Width, pictureEdit1.Height, null, new IntPtr());
img.Dispose();

이렇게하면 PictureBox 컨트롤에서 사용할 이미지의 축소판 버전을 만들 수있을만큼만 비트 맵을로드 한 다음 즉시 삭제하여 파일 잠금을 해제하지만 여전히 화면에 이미지를 표시합니다.

도움이 되었기를 바랍니다!

편집 : 다음 은 동일한 기능 사용 하는 사용 버전 입니다.

using (Image img = new Bitmap(pathx)) {
  pictureEdit1.Image = img.GetThumbnailImage(pictureEdit1.Width, pictureEdit1.Height, null, new IntPtr());
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

FileSystemWatcher C #-다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

분류에서Dev

Excel 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

다른 프로세스에서 사용 중이므로 파일을 삭제할 수 없습니다-VB.net

분류에서Dev

시스템 IO 예외 : 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. c #

분류에서Dev

프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

분류에서Dev

프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

분류에서Dev

다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. File.Copy

분류에서Dev

다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. File.Create 메서드

분류에서Dev

System.IO.IOException : 다른 프로세스에서 사용 중이므로 프로세스가 '.txt'파일에 액세스 할 수 없습니다.

분류에서Dev

C # iTextSharp : 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

IOException 처리되지 않음- "다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다."

분류에서Dev

Python 로깅 모듈, 로그 파일 문제 : PermissionError : [WinError 32] 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다 (파일이 생성되었지만 아무것도 포함하지 않음).

분류에서Dev

pdf를 생성하는 동안 오류가 발생합니다. 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

프로세스가 파일 작성기를 사용하여 파일에 액세스 할 수 없습니다.

분류에서Dev

mscorlib.dll에서 'System.IO.IOException'유형의 예외가 발생했습니다. 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

"다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스 할 수 없습니다."그러나 IIS에서만

분류에서Dev

다른 프로세스에서 사용 중이므로 프로세스에서 'pdf'파일에 액세스 할 수 없습니다.

분류에서Dev

"다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스 할 수 없습니다."

분류에서Dev

"다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스 할 수 없습니다."

분류에서Dev

ReportViewer를 사용하여 PDF로 탐색 할 때 다른 프로세스에서 사용 중이므로 프로세스에서 'xxx'파일에 액세스 할 수 없습니다.

분류에서Dev

다중 스레딩 스택 추적 직면-다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

C # 예외-다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

분류에서Dev

사용자 암호를 변경했지만 이제 암호화 된 폴더에 액세스 할 수 없습니다.

분류에서Dev

사용자 암호를 변경했지만 이제 암호화 된 폴더에 액세스 할 수 없습니다.

분류에서Dev

파일 이름 바꾸기 오류 : 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

Windows 10에서 python 2.7.6 스레딩 : 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

분류에서Dev

Copy-Item : 다른 프로세스에서 사용 중이기 때문에 프로세스가 'dll'파일에 액세스 할 수 없습니다.

분류에서Dev

파일 삭제 : 프로세스가 파일에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    FileSystemWatcher C #-다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

  2. 2

    Excel 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  3. 3

    다른 프로세스에서 사용 중이므로 파일을 삭제할 수 없습니다-VB.net

  4. 4

    시스템 IO 예외 : 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. c #

  5. 5

    프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

  6. 6

    프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

  7. 7

    다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. File.Copy

  8. 8

    다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다. File.Create 메서드

  9. 9

    System.IO.IOException : 다른 프로세스에서 사용 중이므로 프로세스가 '.txt'파일에 액세스 할 수 없습니다.

  10. 10

    C # iTextSharp : 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  11. 11

    IOException 처리되지 않음- "다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다."

  12. 12

    Python 로깅 모듈, 로그 파일 문제 : PermissionError : [WinError 32] 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  13. 13

    다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다 (파일이 생성되었지만 아무것도 포함하지 않음).

  14. 14

    pdf를 생성하는 동안 오류가 발생합니다. 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  15. 15

    프로세스가 파일 작성기를 사용하여 파일에 액세스 할 수 없습니다.

  16. 16

    mscorlib.dll에서 'System.IO.IOException'유형의 예외가 발생했습니다. 다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  17. 17

    "다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스 할 수 없습니다."그러나 IIS에서만

  18. 18

    다른 프로세스에서 사용 중이므로 프로세스에서 'pdf'파일에 액세스 할 수 없습니다.

  19. 19

    "다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스 할 수 없습니다."

  20. 20

    "다른 프로세스에서 사용 중이므로 프로세스에서 파일에 액세스 할 수 없습니다."

  21. 21

    ReportViewer를 사용하여 PDF로 탐색 할 때 다른 프로세스에서 사용 중이므로 프로세스에서 'xxx'파일에 액세스 할 수 없습니다.

  22. 22

    다중 스레딩 스택 추적 직면-다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  23. 23

    C # 예외-다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다.

  24. 24

    사용자 암호를 변경했지만 이제 암호화 된 폴더에 액세스 할 수 없습니다.

  25. 25

    사용자 암호를 변경했지만 이제 암호화 된 폴더에 액세스 할 수 없습니다.

  26. 26

    파일 이름 바꾸기 오류 : 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  27. 27

    Windows 10에서 python 2.7.6 스레딩 : 다른 프로세스에서 파일을 사용 중이므로 프로세스가 파일에 액세스 할 수 없습니다.

  28. 28

    Copy-Item : 다른 프로세스에서 사용 중이기 때문에 프로세스가 'dll'파일에 액세스 할 수 없습니다.

  29. 29

    파일 삭제 : 프로세스가 파일에 액세스 할 수 없습니다.

뜨겁다태그

보관