2014-03-24 5 views
0

https://stackoverflow.com/a/19831167/2956344Android 프로그래밍 방식으로 데이터를 지움

다른 패키지의 데이터를 지우려고합니다. 하지만 데이터를 지울 때 줄에 널 포인터 예외가 있습니다.

... 
    if (appDir.exists() && appDir.isDirectory()) { 
      String[] children = appDir.list(); 
      for (String s : children) {   // NPE! children is null 
       if (!s.equals("lib")) { 
        deleteDir(new File(appDir, s)); 
        Toast.makeText(this, "App Data Deleted", Toast.LENGTH_LONG) 
          .show(); 
       } 
      } 
     } 
... 

파일 탐색기 도구는 폴더에 파일이 있음을 표시합니다. 및 이에 대해 혼란 스럽습니다. 누가 잘못 된 건지 말해 줄 수 있니?

+0

안녕하세요, 당신은 디렉토리 경로를 알아? –

+0

거기에 뭔가 읽기 권한이 잘못되어야합니다. 여기에 대답을보십시오 : http://stackoverflow.com/questions/5130002/inaccessible-files-and-file-list –

+0

@ Perroloco yeap 내가 할 수있는 ' 이 디렉토리를 읽으십시오. 이 문제를 해결할 방법이 있습니까? –

답변

0

디렉토리가 비어 있으면 배열이 비어 있습니다. 이 추상 패스 명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null를 돌려줍니다. 입출력 에러가 발생하고 있습니까?

+0

<모든 IO 예외는 발생하지 않습니다. –

관련 문제