아래의 내용을 봤습니다.

 

https://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use

 

저는 아래 구문이 그런데로 나은듯한데요.

 

        private bool IsFileLocked(string filePath)
        {

            try
            {
                using (Stream stream = new FileStream(filePath, FileMode.Open))

                {

                     // File/Stream manipulating code here

                }
            }
            catch (IOException ex)
            {
                return true;
            }
            finally
            {
            }

            //file is not locked
            return false;
        }

 

잠시 생각해보니 궁금한 점이 생기네요.

IsFileLocked Method 에 접근하는 동안 Lock 이 발생하지 않을까요?

파일이 잠겨있는지 확인하는데 Lock 이 걸린다면.

stream 이 Close 될때까지의 시간이 그리 길지 않겠지만 말이죠.(당연히 파일의 크기에 따라 달라지겠죠?)

 

행복한 고수되셔요. ^^

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고

'.NET > C#' 카테고리의 다른 글

[C#] CreateDirectory  (0) 2017.11.15
[C#] Logging on File  (0) 2017.10.24
[C#] How do you check if a file is in use?  (0) 2017.07.27
[C#] 단일 Process 실행  (2) 2010.11.08
[C#] C# 은 VB.NET 따라쟁이...  (3) 2009.05.07
[C#] C# 컴파일러 오류  (0) 2009.03.06
Posted by woojja
TAG c#, file lock
2017.06.21 16:13

수십개의 GUID 를 입력해야하는 상황이 발생했습니다.

 

아래 그림처럼 VisualStudio 의 도구(Tools) 메뉴에 보시면 GUID 생성하는 도구가 있지요?

 

 

실행시키면 아래와 같습니다.

 

 

하지만 수십개의 GUID 만들어야 하는데...

 

New GUID 버튼을 클릭하고 Copy 버튼을 클릭 하는,  

그렇게 두번 클릭해서 복사한다음

Ctrl + V 로 붙여넣기하는 작업을 수십번 해야한다니... 

 

귀찮았습니다. ^^;

 

 

그렇게 어려운 코딩도 아니고 해서 그냥 하나 만들었습니다.

 

 

 

그냥 갯수정한 후 생성하고 전체 복사하는 도구입니다. ^^;

 

 

GUID Maker Source

 

 

Update Version... ^^;

 

 

저 작업도 귀찮았습니다.

생성한다음에 GUID 하나씩 선택해서 복사하기(Crtl + C) 나 잘라내기(Ctrl + X) 한후 다시 붙여넣기(Crtl + V) 하는 세번의 손놀이를 해야하니 손가락이 뻑쩍지근해서. ㅋㅋㅋ

 

 

 

그냥 버튼만 클릭하면 각 포맷으로 ClipBoard 에 저장됩니다.

클릭한번에 붙여넣기 (Crtl + V) 한번이면 되겠습니다.

 

 

GUID Maker 2 Source

 

 

설치파일까지는 생성하지 않았습니다.

 

어차피 개발자 분들만 보시리라 생각하니까... ^^

.NET Framework 4.5 환경에서 C#으로 작성했습니다.

 

 

행복한 고수되십시요. ^^

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

 













저작자 표시 비영리 변경 금지
신고

'Tools' 카테고리의 다른 글

[Tools] 3 Ways to Change Bitrate on MP3 Files  (0) 2017.09.08
[Tools] NShape  (0) 2017.06.28
[Tools] GUID Maker  (0) 2017.06.21
[Tools] HP OMEN 게이밍노트북 (OMEN 15-AX012TX)  (1) 2017.01.23
[Tools] 텍스트편집기 Sublime Text  (0) 2015.10.01
[Tools] 텍스트 편집기 APTANA  (0) 2015.10.01
Posted by woojja

오래된 Error Message 를 소개하고자 합니다. ^^;

 

"Collection was modified; enumeration operation may not execute."

 

위 Message 는 한글 에러로는

"컬렉션이 수정되었습니다. 열거 작업이 실행되지 않을 수도 있습니다." 라는 에러로 나타납니다.

 

foreach (VB.NET 의 경우 For Each) 문은 IEnumerable, IEnumerable<T> 를 구현한 배열이나 컬렉션의 요소들을 반복하여 접근하는 작업을 합니다만

For Each 반복과정에서 배열이나 Collection 의 변경이 생기는 경우 내부에서 사용하는 iterator 가 무효화 되어 사용할 수 없게되어 InvalidOperationException 이 발생하게 됩니다.

 

따라서 For Each 작업을 하기 위해서는 For 문을 사용하거나

반복에 사용할 대상을 미리 List 로 취합한뒤 그 List 를 대상으로 작업을 하시기 바랍니다.

 

 

행복한 고수되십시요.

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

 













저작자 표시 비영리 변경 금지
신고
Posted by woojja
이전버튼 1 이전버튼

티스토리 툴바