2011-06-17 23 views
0

我写这个存储在SD卡中的文件,但它不工作。写一个文件到SD卡不工作

public class TestarFilesActivity extends Activity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     File root = Environment.getExternalStorageDirectory(); 

     try { 
      if (root.canWrite()) { 
       File file = new File(root, "agora.txt"); 
       FileWriter fwriter = new FileWriter(file); 
       BufferedWriter out = new BufferedWriter(fwriter); 
       out.write("Hello world"); 
       out.close(); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     }TestarFilesActivity.this.finish(); 
    } 
} 

这个问题是如何造成的?我该如何解决?我认为这是正确的,我也已经在清单中写入了许可。

+4

LogCat message? – Wroclai

+5

呜咽,不工作。 Whyyyyyyyyyy ???? :( –

+0

不知道:(请帮忙 – Ricardo

回答

2

如果运行在Android模拟器这个程序,你必须通过DevTools终端模拟器准备SD卡,并使用Linux的命令检查SD卡目录$ LS和允许,如果没有可用到SD卡 准备,并尝试

File file = new File(root, "/sdcard/agora.txt"); 
FileWriter fwriter = new FileWriter(file); 
BufferedWriter out = new BufferedWriter(fwriter); 
out.write("Hello world"); 
out.close(); 

//Use this in manifest.xml 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
0

有你在AndroidManifest.xml中的SD卡给写权限下面?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />