从SD卡读取和写入文件

我买了一本Mario Zechner的书(“Beginning Android Games”)。 在页149,他谈到在外部存储上保存和打开文件。 我理解代码,但我不明白为什么它这样说:

错误的屏幕截图

为什么这么说呢? 我拥有Manifest中的所有权限:

                    

我的代码:

 package com.amzoft.android.reference; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.widget.TextView; public class ExternalStorageTest extends Activity{ @Override public void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); TextView textView = new TextView(this); setContentView(textView); String state = Environment.getExternalStorageState(); if(!state.equals(Environment.MEDIA_MOUNTED)) { textView.setText("SD card is not mounted"); }else{ File externalDir = Environment.getExternalStorageDirectory(); File textFile = new File(externalDir.getAbsolutePath() + File.separator + "text.txt"); try{ writeTextFile(textFile, "This is a test >:0\nLINE BREAK"); String text = readTextFile(textFile); textView.setText(text); if(!textFile.delete()) { textView.setText("Couldn't remove temporary directory, sorry mate."); } }catch(Exception e){ textView.setText(e.getMessage()); } } } private void writeTextFile(File file, String text) throws IOException { BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write(text); writer.close(); } private String readTextFile(File file) throws IOException { BufferedReader reader = new BufferedReader(new FileReader(file)); StringBuilder text = new StringBuilder(); String line; while((line = reader.readLine()) != null) { text.append(line); text.append("\n");//BECAUSE ITS A LINE :D } reader.close(); return text.toString(); } } 

我希望有人可以帮助我,因为我现在很困惑。

我认为它的权限问题将这两个添加到清单文件

   

让我知道结果如何

它似乎你有正确的权限,但你错过了clossing清单标签:

  

当你在这里粘贴代码时,可能是一个错字。