2014-04-10 2 views
0

외부에서 파일을 삭제 취소 할 수있게하고 java를 사용하여 프로그램에서 해당 파일에 대한 읽기/쓰기 작업을 만들고 싶습니다.삭제 불가능한 파일 만들기 및 Java를 사용하여 읽기/쓰기 가능

Process pcs = Runtime.getRuntime().exec(
    "cmd /c start cacls E:\\PJ\\testing2.txt /e /d %username%"); 

그것은 내가 읽고 더 이상 해당 파일에 기록 할 수없는, success.But이었다

S0

, 나는 다음과 같은 코드를 사용하여 자바를 사용하여 삭제가 불가능 파일을 만들었습니다. 누군가 나를 도와주세요! 또는이 작업을 수행하는 또 다른 방법입니다.

+0

여기 [Raymond Chen] (http://blogs.msdn.com/b/oldnewthing/)에서 페이지를 훔치는 것이 싫지만 삭제할 수없는 파일을 만드는 데 프로그램이 얼마나 효과적입니까? – lcs

답변

1

나는 cacls에 익숙하지 않지만 정확히 무엇을하는지, 문서를 간략하게 살펴보면 명령을 실행하는 사용자가 파일에 액세스하는 것을 거부 한 다음 동일한 사용자가 파일에 액세스하기를 원합니다. ./p 스위치를 사용하여 현재 사용자에게 파일을 읽고 쓰는 데 필요한 권한을 부여한 다음 코드에서 수행해야 할 작업을 수행 한 다음 cacls/d를 사용하여 현재 권한을 취소하는 것이 좋습니다. 다시 사용자. 이 같은 일을보십시오 :

Process pcs = Runtime.getRuntime().exec(
"cmd /c start cacls E:\\PJ\\testing2.txt /e /p %username% : f"); 

//Logic that manipulates the file here 

Process pcs = Runtime.getRuntime().exec(
"cmd /c start cacls E:\\PJ\\testing2.txt /e /d %username%"); 

을 그냥 참고로, 그 중 특히 용의자 "F"부분, 내가 CACLS에 익숙하지 않은 나는, 다시 말 하겠지만, 나는 documentation

을 읽었다

편집 -이 논리는 현재 사용자의 권한 만 취소하므로 파일이 삭제 취소 할 수 없습니다. 다른 사용자 계정을 사용하여이 파일을 삭제할 수 있습니다 (예 : Administrator).

+0

고마워, 알았다. –

관련 문제