将txt文件输出到android内部存储器中的文件夹

时间:2013-09-23 10:29:04

标签: android fileoutputstream

我需要创建一个文本文件,其中输入来自用户。

我正在尝试将txt文件保存在文件夹中(即使文件夹不存在,也应该创建文件夹)

我的代码如下,

 FileOutputStream fileos = null;

                if (FreeMemory() != 0) {
                    FileOutputStream fos=null;
                    try {
                        File path=new File(getFilesDir(),"sri");
                        if(!path.exists()){
                            path.mkdir();
                        }
                        File mypath=new File(path,"myfile.txt");
                        if (!mypath.exists()) {
                            fos = new FileOutputStream( mypath);
                            String text="Write Hii";
                            fos.write(text.getBytes());
                            fos.close();
                        }                           
                    }catch(Exception e){

                    }

                } 

“path”变量给出了这条路径:“/ data / data /com.example.gm / files / sri”   我在设备中导航到此路径:Android - >数据 - > com.example.gm - >文件 - >   但是没有创建文件夹“sri”,甚至也没有创建文件。我是否正在导航到错误的路径?我无法在设备中找到该文件。   我也通过安装“Astro文件管理器”应用程序来搜索该文件夹。但是,找不到它。写入文件夹时,我没有收到任何异常。代码必须正确。但文件夹和文件在哪里?请有人帮我解决这个问题。

我想将txt文件保存在设备的内部存储器中。

我的代码有什么问题?请建议我的解决方案。   我经历了很多小道,最后走近了stackoverflow。

感谢您的帮助!!

2 个答案:

答案 0 :(得分:0)

内部存储中的数据无法在拥有它的应用程序旁边访问,因此任何第三方应用程序(如文件浏览器或Astro文件管理器)都无法查看文件。具有root访问权限的应用程序只能访问内部存储器中的文件。我相信您应该以编程方式验证文件是否已创建。 getFilesDir()将给出分配给该应用程序的内部内存位置。

答案 1 :(得分:-1)

您是否已在清单文件中提供权限

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