如何在手机上选择文件而不是SD卡?

时间:2012-09-26 09:17:28

标签: java android fileoutputstream android-file

我的意思是我想在手机内存上定义文件路径而不是SD卡。

我想用这个:

FileOutputStream out3 = new FileOutputStream(Environment.getRootDirectory()+"/a/b.txt"); 

这会给出错误 我怎样才能解决这个问题? 感谢。

错误

 09-26 19:49:11.050: E/AndroidRuntime(20214): FATAL EXCEPTION: main
09-26 19:49:11.050: E/AndroidRuntime(20214): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kelime.tekerrur/com.example.kelime.tekerrur.MainActivity}: java.lang.NullPointerException
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 19:49:11.050: E/AndroidRuntime(20214):    at android.os.Looper.loop(Looper.java:137)

2 个答案:

答案 0 :(得分:2)

你可以试试这个 -

File imgFile = new File(Environment.getRootDirectory()+“/test_image.jpg”);

答案 1 :(得分:2)

要获得SD卡路径,您必须使用Environment.getExternalStorageDirectory()
Mukesh建议的Environment.getRootDirectory()返回设备根“/” - 您无法在非根设备上的此目录中编写(或读取)。