티스토리 뷰
Written by 김영일(Youngil Kim), C#.NET Developer
프로그램으로 임시파일을 생성하는 경우 해당 폴더에 이미 존재하는 파일과 파일명이 겹치지 않도록 하는 경우가 필요합니다. 이를 .NET Framework 1.1에서는 System.IO.Path 클래스의 GetTempFileName 메소드로 제공을 하고 있습니다. 그러나, 이 메소드는 파일명을 생성하는 과정에서 실제 그 파일을 임시폴더에 0사이즈로 생성하는 문제점이 있습니다. 이는 아마도 임시폴더에 있는 다른 파일과 확실하게 중복되는 경우를 예방하기 위한 방법으로 생각되어 집니다.
.NET Framework 2.0에서는 임시 파일명으로 이용할 수 있는 랜덤하게 파일명을 만들어주는 GetRandomFileName메소드가 새롭게 추가되었습니다. 이 메소드는 난수를 기반으로 8.3단위의 문자열을 리턴하며 앞서 소개한 메소드와 달리 문자열만 리턴해주고 임시파일은 생성하지 않습니다.
[RandomFileNm.cs]
using System;
using System.Collections.Generic;
using System.IO;
namespace RandomFileNm
{
class Program
{
static void Main(string[] args)
{
for (int i=0; i<5; i++)
{
string nm = Path.GetRandomFileName();
Console.WriteLine(nm);
}
}
}
}
참고로 GetRandomFileName메소드는 암호화를 통해 난수를 생성하여 파일을 만들어 줍니다. 구체적으로는 System.Security.Cryptography네임스페이스의 RNGCryptoServiceProvider클래스를 사용합니다. 이 때문에 이 메소드가 생성한 파일명이 중복될 가능성은 없기 때문에 실제로 임시파일을 만들 필요도 없다고 말한 것입니다.
- Total
- Today
- Yesterday
- 아이폰 카메라어플
- 아이튠즈 없이 mp3가져오기
- GTO SHONAN 14DAYS
- KL2200
- 아이폰 셀카
- 안녕 바다
- KL-2200
- 닷넷 엑셀
- Lily's Diary
- 아이팟 보조배터리
- God of War III
- 윈터드림
- 켄우드 정수기
- Roibosh Vanilla
- 릴리스다이어리
- 릴리스 다이어리 - 설레어
- 아이폰 보조배터리
- 로네펠트
- 나를 기억하고 있는 너에게
- 삼성 외장하드
- georgia max
- 보이스차
- IT·컴퓨터
- Crows Zero
- 보이스티
- 모토스톰2
- .NET Excel
- 러브트리프로젝트
- 닷넷 파일형식
- hot 6
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |