java - 如何在 Android 上创建和/或附加到文件?

标签 java android file file-io filewriter

这就是我正在做的事情:

    static void writeToFile(String text) {
    try {
        synchronized (fileLock) {
            File external = Environment.getExternalStorageDirectory();
            String sdcardPath = external.getPath();
            FileWriter filewriter = new FileWriter(sdcardPath
                    + "/Documents/myfile.txt", true);
            BufferedWriter out = new BufferedWriter(filewriter);

            out.write(text);

            out.close();
            filewriter.close();
        }
    } catch (Exception e) {
        android.util.Log.d("failed to save file", e.toString());
    }
}

在打开文件时出现以下异常:

java.io.FileNotFoundException: /mnt/sdcard/Documents/myfile.txt: 
    open failed: ENOENT (No such file or directory)
  1. 目录/mnt/sdcard/Documents/根据 Root Browres 存在
  2. 应用程序 list 确实包含 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  3. myfile.txt不存在,我希望创建或附加它

如何在 Android 上创建或附加文件?

更新 这是我的 AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.mytest"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

最佳答案

首先您必须创建文件,然后附加到该文件,这是创建文件的代码

    sFileName = "Android.txt";
    File root=Environment.getExternalStorageDirectory();

    File textfile = new File(root, sFileName);
    textfile.createNewFile();

权限:

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

关于java - 如何在 Android 上创建和/或附加到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18100485/

相关文章:

java - 在连字符处将字符串一分为二

android 中 java.text.parseeException 不可解析的日期

c++ - 我加密但无法使用 C++ 执行文件解码

c++ - 将缓冲的文本数据读入字符串

java - org.openqa.selenium.NoSuchSessionException : Session ID is null. 调用 quit() 后使用 WebDriver?通过 Java 使用 ChromeDriver Selenium 时出错

java - javax.enterprise.context.RequestScoped 在字段上指定时如何工作?

java - 如何在Java中循环并将相同的内容写入CSV文件

java - 使用 Gson 解析复杂的 json 时遇到问题

android - 我在哪里可以获得 Android ICS 菜单按钮图标?

c# - 如何使用 Stream 获取图像大小(宽 x 高)