java - Android应用程序写入文本文件

标签 java android filewriter

我有一个 Android Java 应用程序,我正在尝试创建一个文件并向其中写入一些内容:

    try {
        File file = new File( "/storage/emulated/0/text.txt" );
        file.createNewFile();
        FileWriter fwr = new FileWriter( file );
        fwr.write( "something" );
        fwr.close();
    } catch( Exception e ) {
        e.printStackTrace();
    }

当我运行应用程序时,这一行: file.createNewFile(); 给我以下错误: 打开失败:ENOENT(没有这样的文件或目录) 可能是因为我没有权利在那里写作。我究竟做错了什么?我在哪里有权创建文件?我不希望该文件成为应用程序的一部分,例如属性文件。我希望我的文件是独立的,并且位于用户的主目录中。

编辑:当我尝试打开电影目录中的文件时,如下所示:File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES) + "/movielist.txt"); I收到此错误:打开失败:EACCESS:权限被拒绝

最佳答案

如果您想在用户的外部存储器中创建一个文件。然后你必须在 list 中获得此权限。

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

然后获取像这样的代码 fragment 的路径

FileOutputStream fos;
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
String FILENAME =path + "/External"; // External is the text file name
String text = "Hello I am in External!"; // text inside the file
fos=new FileOutputStream(FILENAME);
fos.write(text.getBytes());
fos.close();

关于java - Android应用程序写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27631082/

相关文章:

java - Spring Security 记住我

android - 迁移到 Gradle Experimental 2.5 : no such method AndroidConfig 时出现问题

android - 在android中调整视频大小

c - 写入一个大文件或多个小文件

java - 将java表导出到excel时出现问题

java - 如何在 Java bean 中执行不精确比较?

java - 尝试用 Java 获取 XML 节点

java - 我可以提取号码吗? 2位数字从字符串到整数?

java - 倒计时器?

java - 在java中将字符串数组写入csv文件的一列中