0

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

我正在尝试将 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-->Data-->com.example.gm--> files--> 但文件夹“sri”没有创建,甚至文件也没有创建。我导航到正确的路径吗?我无法找到设备中的文件。我也通过安装“Astro File Manager”应用程序搜索了该文件夹。但是,没找到。写入文件夹时我没有收到任何异常。代码必须正确。但是文件夹和文件在哪里?请任何人帮助我解决这个问题。

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

我的代码有什么问题?请建议我解决方案。我经历了许多小径,终于接近了stackoverflow。

谢谢你的帮助!!

4

2 回答 2

0

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

于 2017-07-28T11:47:01.297 回答
-1

您是否在清单文件中授予权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
于 2013-09-23T11:10:56.353 回答