Мне нужно прочитать в MainActivity. java файл file.txt, который я создал с помощью программы python и поместил в следующий каталог:
String path="/home/name_user/AndroidStudioProjects/EmoticonPepper/app/src/main/python/emoticon.txt";
В файле file.txt есть только одно целое число (это может быть: 0,1,2,3), и для его чтения я использовал следующий код:
File file = new File(path);
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
int value = 0;
while (true) {
try {
while ((value = br.read()) != -1) break;
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(value);
//rest of the code where I used the int value
Он говорит "no such file or directory"
а затем я получаю следующую ошибку:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.emoticonpepper, PID: 3021
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.BufferedReader.read()' on a null object reference
at com.example.emoticonpepper.MainActivity$1$1.run(MainActivity.java:84)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5563)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Я использовал следующий код, чтобы проверить, существует ли каталог:
File tmpDir = new File(path);
boolean exists = tmpDir.exists();
Log.d("Tag----->", String.valueOf(exists));
Я получаю False, но если я go в В этом каталоге я вижу файл.
Я также добавил следующее разрешение для AndroidManifest. xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Может ли кто-нибудь мне помочь?