我发现很多主题都有同样的问题,但他们无法解决我的问题。 我最初写一个文件如下:`
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File notefile = new File(root, sFileName);
FileWriter writer = null;
try {
writer = new FileWriter(notefile);
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.append(sBody);
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
不要担心try和catch块,我稍后会清除它们:D。 这是应该在同一目录中工作的读者(SD卡的“注释”,如果它不存在,将被创建),读取文件,并将其放在Notify上,如你所见:`
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File file = new File(root, "Nota.txt");
//Read text from file
text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
br.close() ;
}catch (IOException e) {
e.printStackTrace();
}
我真的不明白为什么我会遇到这个问题,我甚至尝试使用
getExternalStorageDirectory().getAbsolutePath()
但没有成功。
有人可以帮助我吗?
答案 0 :(得分:0)
当您执行以下操作时,您已尝试使用调试器进行检查:
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
我不认为它会在您编写文件时创建文件夹
答案 1 :(得分:0)
要在外部存储中写入文件, 您需要启用WRITE_EXTERNAL_STORAGE权限。
为什么要尝试在外部存储中写入文件?
我的意思是,如果你想这个文件为您的应用程序的唯一手段,使用context.getExternalDirs()让您的应用' S沙盒,它不'吨需要写权限,上面的Android 4.2(果冻豆)。
如果您想将文件分享给其他应用,那么您就可以做正确的工作。
在编写文件之前,请检查外部存储是否以编程方式挂载。
答案 2 :(得分:0)
我使用了Android的SharedPreferences。 我将数据存储在MainActivity中,并按照以下方式接收我的类:
MainActivity
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = prefs.edit(); editor.putString(" string_id",InputString); // InputString:来自EditText editor.commit();
在我的班级中获取我的数据
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); String data = prefs.getString(" string_id"," no id"); //没有id:默认值
.android.com /参考/机器人/内容/ SharedPreferences.html