최근에 작성한 작은 프로그램에 구성 파일이 있습니다. 이 파일은 전체 프로그램에 중요합니다. 이 파일을 삭제하거나 다시 작성하면 전체 프로그램을 실행할 수 없거나 실행 후 닫을 수 없습니다. 그래서 저는 파일을 수동으로 다시 쓰는 것을 불가능하게 만드는 방법을 찾고 있었습니다.
"삭제"는 프로그램에서 구성 파일의 경로를 찾아 비어 있으면 생성하고 몇 가지 기본값을 지정하면 해결됩니다. VB의 샘플 코드는 다음과 같습니다.
FileName = App.Path + "/CONFIG"'파일이 없으면 파일을 만듭니다.If Dir(FileName) = "" Then Open FileName For Output As #1 ' 순차 파일을 열려면 Open 문을 사용할 수 있습니다. = Encode(" 123") + vbCrLf + "10" + vbCrLf 'vbCrLf는 캐리지 리턴입니다. Print #1, a 'Write dataClose #1 '파일을 닫습니다End If
구성 파일을 수동으로 다시 작성할 수 없습니다. 프로그램에서 파일을 숨기려고 했습니다. VB의 샘플 코드는 다음과 같습니다.
SetAttr FileName, vbSystem Or vbHidden '숨겨진 파일
그러나 최종 분석에서는 근본 원인보다는 증상을 치료하는 것이므로 문서는 여전히 다시 작성됩니다. 그러다가 사람들이 수동으로 파일을 여는 것이 쉽지는 않지만 항상 열 수 있는 방법이 있도록 구성 파일 접미사 방식을 수정하는 것을 생각했습니다. 결국 저는 간단한 해결책을 생각했습니다. 먼저 프로그램에서 구성 파일을 연 다음 수동으로 열 수 없습니다. VB의 샘플 코드는 다음과 같습니다.
#99로 바이너리의 파일 이름 열기
파일을 다시 쓸 때 프로그램이 먼저 열려 있는 파일을 닫아야 한다는 점을 기억하세요. 그렇지 않으면 다시 쓰기가 실패합니다. VB의 샘플 코드는 다음과 같습니다.
Close #99 '파일을 닫습니다
요약하자면, 파일 덮어쓰기를 방지하는 간단한 방법은 프로그램에서 먼저 파일을 여는 것입니다.
이상이 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.