디렉터리를 재귀 적으로 제거하려고합니다. 하지만 몇 가지 문제가 있습니다. 그래서 그림에 표시된대로 "test"폴더에 디렉토리를 만듭니다. 그러나 3 번째 폴더에서 java.lang.NullPointerException 예외를 throw합니다. 이디렉터리를 재귀 적으로 제거합니다.
답변
당신은 시작을 위해이 일을하지 말아야 작동하는 방법 그
public static void RecursiveRm (String myFile)
{
File fl = new File(myFile);
String [] temp = fl.list();
if(temp.length > 0){
for (int i = 0; i < temp.length; ++i){
myFile = myFile + "/" + temp[i];
RecursiveRm(myFile);
}
}
else
fl.delete();
}
:
는 다음 그림과 일부 코드입니다.
myFile = myFile + "/" + temp[i];
이것은 당신이 그것에 a
b
와 c
있는 디렉토리가있는 경우는 myFile
대신이 시도 변경하지 않도록해야 /a/b/c
경로가 될 것을 의미합니다. 디렉토리가 존재하지 않는 경우
for(String file: new File(myFile).list()) {
recursiveRm(myFile + "/" + file);
}
fl.delete();
대부분의 경우 당신은 File.list()
반환 null
로는 NullPointerException을 얻고있다.
매일. 그 작품! 고마워요 =) –
시계처럼 작동합니다. –
코드를보고 나면 하위 디렉토리가없는 경우 fl.list()에서 NullPointerException이 발생합니다. 코드의 변경 :
이public static void RecursiveRm (String myFile)
{
File fl = new File(myFile);
String [] temp = fl.list();
if(temp != null && temp.length > 0){
for (int i = 0; i < temp.length; ++i){
myFile = myFile + "/" + temp[i];
RecursiveRm(myFile);
}
}
fl.delete();
}
예, 그림에서 언급 한대로 문제입니다. 고맙습니다 =) –
코드를 시도했습니다. 작동하지 않습니다 = ( –
죄송합니다, 다시 실행하고 논리 오류가 있음을 깨달았습니다. 'else'제거 내 대답을 업데이트하고 테스트했습니다. – milk3422
- 1. 디렉터리를 재귀 적으로 제거하십시오.
- 2. Rsync는 재귀 적으로 만 새로운 디렉터리를 만듭니다.
- 3. 잘못된 값을 반환하는 디렉터리를 재귀 적으로 검색
- 4. emacs에서 서브 디렉토리를 재귀 적으로 제거합니다. dired
- 5. 인접한 모든 중복을 재귀 적으로 제거합니다.
- 6. 목록에서 인접한 중복을 재귀 적으로 제거합니다.
- 7. WPF 응용 프로그램에서 디렉터리를 재귀 적으로 검색하는 방법?
- 8. Scala에서 꼬리 재귀 적으로 디렉터리를 트래버스 할 수 있습니까?
- 9. Objective-C에 문자열로부터 디렉터리를 재귀 적으로 만드는 방법이 있습니까?
- 10. .NET에서 재귀 적으로 디렉터리를 검색하는 더 빠른 방법이 있습니까?
- 11. 재귀 적으로
- 12. 파이썬에서 목록의 목록 (리스트 목록 중 ...)을 재귀 적으로 제거합니다.
- 13. nest json 객체에서 빈 배열을 포함하고있는 객체를 재귀 적으로 제거합니다.
- 14. 루비 해시의 문자열 값에서 행 끝을 재귀 적으로 제거합니다.
- 15. javascript - 다차원 배열에서 플래그가 지정된 요소를 재귀 적으로 제거합니다.
- 16. Howto는 Meteor에서 디렉토리를 재귀 적으로 제거합니까?
- 17. XPath를 재귀 적으로 사용하여 자식 노드를 재귀 적으로 선택 하시겠습니까?
- 18. 재귀 적으로 바나나 동작을 구현하는 방법은 재귀 적으로 달라집니다.
- 19. 속성을 재귀 적으로 제거
- 20. IFormatter를 재귀 적으로 구현하기
- 21. 사전을 재귀 적으로 수정합니다.
- 22. 재귀 적으로 해결하는 자리
- 23. 개체를 재귀 적으로 만듭니다.
- 24. grep를 재귀 적으로 사용
- 25. ListChildren 재귀 적으로 재귀에
- 26. viewWillLayoutSubviews가 재귀 적으로 호출됩니다.
- 27. 재귀 적으로 생각하는 법?
- 28. 폴더를 재귀 적으로 삭제
- 29. accessibilityElementsHidden을 재귀 적으로 설정합니까?
- 30. 파이썬 함수는 재귀 적으로
당신이 그것을 던지고 어떤 예외 말해 수 :
전체 스택 추적을 추가하십시오. – Jens
물론, 그것은 질문에 추가했습니다 –