2010-07-01 2 views
3

몇 가지 임시 파일을 생성하고 몇 가지 사항에 대한 사용자의 입력을 기다린 다음 임시 파일을 작업에 사용하는 프로그램을 만들고 있습니다.임시 파일의 길이는 유지됩니까?

나는이 임시 파일이 완전히 끝나기 전에 사라지지 않을 것이라고 확신 할 수 있습니까? 예를 들어 사용자가 일하는 동안 사라질 수 있습니까?

분명히 내 appdata에 내 폴더를 만들어 임시 파일로 사용할 수 있습니다. 그러나 C#의 Path.GetTempFileName() 또는 Path.GetTempPath() + somename을 사용하는 것이 더 쉬울 것입니다. 이 방법으로 생성 된 파일은 언제 삭제됩니까?

분명히하기 위해 임시 파일을 만드는 방법을 찾는 것이 아니라 GetTempPath()에 생성 된 임시 파일을 보관하는 기간과 사용하기 전에 사용자 입력을 기다리는 데 충분한 시간이 될지 여부를 결정합니다.

+0

임시 경로가 전혀 삭제되지 않습니까? 광산에는이 Windows 설치만큼 오래된 몇 개월 된 파일이 들어 있습니다 ... – Jens

+0

그게 내가 잘 모르겠다. 팀의 대답에 대한 내 의견을 참조하십시오. 왜 내가 구체적인 대답을 얻지 못한다고 가정 할 때 조심 스럽습니다. – NickAldwin

답변

2

Windows에서 임시 파일을 자동으로 삭제하는 프로세스를 알지 못합니다. 사용자는 클린업 작업을 설정할 수 있지만 최소 하루나 이틀 동안 파일을 혼자 남겨 둘 수 있습니다.

비교를 위해 Outlook에서 첨부 파일을 열면 첨부 파일을 임시 파일에 복사하고 연결된 응용 프로그램을 시작합니다. 사용자가 연결된 응용 프로그램을 닫지 않으면 이러한 임시 첨부 파일은 무기한으로 보관해야합니다.

+0

임시 파일을 자동으로 제거하는 모든 것이 제거되지 않았거나 제거되지 않았다고 가정하는 것이 합리적입니다. 현재 열려 있습니다 (예를 들면). 그러나 사용자가 작업하는 동안 내 파일은 응용 프로그램에서 열어 두지 않습니다. 임시 질문 (예 : Outlook 예제와 유사)을 연 다음 종료 한 다음 동일한 임시 파일을 다시 열려고 시도한 경우 - 잠시 후 몇 초 내에 -이 문제가 발생했습니다. 지나간. 이는 생성하는 응용 프로그램이 응용 프로그램을 제거하기 때문일 수 있지만 그저 다른 것이 없었는지 확인하기를 원합니다. – NickAldwin

+0

흠 - 제 경험상 부실 첨부 파일로 가득 찬 디렉토리로 끝납니다 ... –

+0

메모로 답변을 수락했지만 다른 프로그램을 잊어 버렸기 때문에 실제로 프로그램의 임시 디렉토리에 저장하지 않습니다. 모드는 파일을 처리하기 전에 며칠 또는 몇 주 동안이나 사용자가 원하기 만하면 파일을 남길 수 있기 때문에이 경우에는 내 자신의 캐시 폴더가 더 나은 옵션이라고 생각합니다. 그러나 임시 파일이 자동 코드되었다는 정보를 찾을 수 없기 때문에 아마 그 프로그램이 적절한 소프트웨어 시민이며 그 자체만으로도 정리 된 프로그램 일 것이라고 생각하고 있습니다. Outlook이 아마도해야 할 일입니다. – NickAldwin

1

알고있는 한, 임시 파일은 프로그래밍 방식으로 제거하거나 사용자가 디스크 정리 유틸리티를 사용하거나 수동으로 삭제할 때까지 정리됩니다.

임시 파일을 사용할 때 나는 항상 파일 이름을 유지하고 그 파일을 삭제하려고 시도합니다. 그렇지 않으면 큰 숫자의 임시 디렉토리에 많은 수의 임시 파일이 있음을 발견했습니다 시간 범위.

+0

OK, thanks . 불행히도 파일을 열어 두는 것은이 프로그램에 대한 옵션이 아닙니다. – NickAldwin

+0

아, 내가 그 비트를 편집하면서 질문을 다시 읽었을 때 댓글을 달았습니다. –

2

완전히 안전하며 본능이 100 % 정확합니다. 나중에 임시 파일을 정리하는 것을 잊지 않는 한 임시 파일을 처리하는 방법입니다.

GetTempPath()을 호출하면 임시 파일을 안전하게 둘 수 있습니다. 환경 변수 PATH의 가치를 얻는 것과 같은면이 현대적입니다. 디렉토리는 이 아니며 자동으로 삭제 된입니다. 고대의 쓰레기로 가득 차 있습니다.

+0

그건 제가 생각한 것입니다. 나는 단지 그것이 내 얼굴에 날아 가지 않을 것이라고 확신하고 싶었다. 감사. – NickAldwin

2

Tim과 동의하십시오. 적어도 XP에서는 temp 폴더의 파일을 정리하는 책임이 프로그램의 첫 번째 장소에 있습니다. Vista/7과 같은 최신 운영 체제에서도 % TMP % 폴더에서 자동 정리가 발생한다고 생각하지 않습니다.

+0

정말 고마워! – NickAldwin

2

자체적으로 정리되지 않습니다.

Windows Disk Cleanup을 사용하십시오.

+0

우수! 사용자가 프로그램 중간에서 실행하지 않는 한 모든 설정이 완료되어야합니다. – NickAldwin

+0

여러 개의 앱을 시작하고 임시 디렉토리가 실행되는 동안 삭제 해보세요. 어느 것이 충돌하는지 기록해 두십시오. –

+0

파일을 잠그면 정리되지 않습니다. –

관련 문제