Я пытаюсь создать приложение, и для этого мне нужно перечислить файлы. Я нашел полезный код и немного подгонял его для своих нужд. Это мой (простой) код:Android: NullPointer Exception (файлы)
// List all files from specific directory
public void listFiles(){
// Path to directory to scane
String path = Environment.getExternalStorageDirectory().toString()+"/Download/";
// New file-instance
File f = new File(path);
// Get the textview to display message
TextView textview = (TextView) findViewById(R.id.textView);
textview.setText(f.toString());
// List the files
File file[] = f.listFiles();
for(int i = 0; i < file.length; i++){
Log.d("Files", "Filename: " + file[i].getName());
}
}
Я знаю, что это вызвано file.length в мой цикл, но я не понимаю, почему я получаю эту ошибку, так как она захватывает файлы в нужном каталоге и у меня есть файлы в этом каталоге ...
E
dit: This is my stack trace
java.lang.NullPointerException: Attempt to get length of null array
at com.example.filemaker.MainActivity.listFiles(MainActivity.java:79)
at com.example.filemaker.MainActivity$1.onClick(MainActivity.java:31)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
please post stack trace –
См. «Если это абстрактное имя пути не обозначает каталог, то этот метод возвращает null» из [здесь] (http://docs.oracle.com/javase/7/docs/api/java /io/File.html#listFiles()). Может быть, переменная 'path' настроена неправильно? –
Имеет ли ваше приложение разрешение READ_EXTERNAL_STORAGE? –