首先,我想告诉您我在这里很新,也是Android Studio和Java的初学者。
我的问题/问题是:
我在Android Studio中有一个应用程序,该应用程序应在特定位置将字符串写入文本文件,并且在应用程序启动时应读取相同的文件。
正在写入文件,但无法读取。当我手动创建文本文件并将其手动插入文件夹时,它将读取字符串。
我已经添加了权限,并尝试使用LogCat
查找错误,但目前不知道可能是什么错误。
变量:
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/myApp");
我的阅读功能:
String myData = "";
try {
FileReader fileIn = new FileReader(dir + "/data.txt");
Scanner input = new Scanner(fileIn);
while (input.hasNextLine()) {
String line = input.nextLine();
myData = myData + line;
}
input.close();
} catch (Exception ex) {
ex.printStackTrace();
}
我的写作功能:
try {
File file = new File(dir, "data.txt");
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.println("answer42");
pw.flush();
pw.close();
f.close();
} catch (Exception ex) {
ex.printStackTrace();
}
答案 0 :(得分:0)
是否需要请求权限?
尝试在false
文件中添加此行
AndroidManifest.xml
还要将此代码添加到您的<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
中,以请求获得Android API 23+的权限
MainActivity
要获取结果,请使用以下代码
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
1);
更多信息:https://developer.android.com/training/permissions/requesting.html