2010-04-29 4 views
12

아래와 같이하고 싶습니다. 어떤 함수가 나에게 열려있는 고유 한 파일을 반환합니까? 그래서는 내 꺼야 보장 할 수 있습니다 그리고 난 못해 아무것도 덮어 쓰거나.NET에서 임시 파일 가져 오기/열기

BinaryWriter w = GetTempFile(out fn); 
w.close(); 
File.Move(fn, newFn); 

답변

19

두 가지 방법이 거기에있다 루프/복잡한 FN 생성 쓰기 :

  • Path.GetTempFileName

    이것은을 만듭니다 임시 파일 이름을 반환합니다.

  • Path.GetRandomFileName

    이 파일 이름으로 강력하게 암호화 된 임의의 문자열을 사용하고 당신을위한 파일을 생성하지 않습니다.

일반적으로 첫 번째 방법으로 충분합니다. GetRandomFileName에 대한 설명서의 내용은 다음과 같습니다.

파일 시스템의 보안이 중요한 경우 GetTempFileName 대신이 메서드를 사용해야합니다.

1

상당히 고유 한 임시 파일 이름을 얻으려면 GetTempFileName() 메서드를 사용할 수 있습니다.

2

당신은 같은 것을 할 수 있습니다

var path = Path.GetTempFileName(); 
var stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); 
var writer = new BinaryWriter(stream); 
    ... 
3

또 다른 대안은 TempFileCollection 클래스입니다. Path.GetTempFileName()에 대한 문서에서 제안 된 것과 비슷한 IDisposable 래퍼를 제공합니다.

+0

재미있는 수업입니다. –