在android中将文件保存到SD卡的问题

时间:2012-05-18 13:34:02

标签: java android sd-card

我正在尝试将文件保存到我的SD卡中。这是我到目前为止的代码。我非常感谢您提供的任何帮助。谢谢 编辑: 问题是文件未保存。当我退出程序并查看SD卡时,没有保存文件。我在错误捕获器中放了一个吐司,看起来我得到了一个IOException。我不知道如何检查StackTrace日志

class bSaveListen implements Button.OnClickListener{
    @Override

    public void onClick(View arg0) {
        savef();
    }

}

public void savef(){
    sdCard = Environment.getExternalStorageDirectory();
    String filename = "aaaaaaa.txt";
    file = new File(sdCard, filename);
    FileOutputStream fileout;
    byte[] thatString = new String("awesome string").getBytes();
    try {
        fileout = new FileOutputStream(file);
        fileout.write(thatString);
        fileout.flush();
        fileout.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:0)

可能你得到一个例外,你根本就没有看到它。而不是e.printStackTrace();,因为它没有显示在DDMS中而无用,请使用L.e(TAG, "Error", e); 这样你就可以看到Exception并找出错误的

答案 1 :(得分:0)

我今天花了一整天时间试图解决这个问题,我终于得到了答案。只是想我会在这里发布,以防其他人有类似的问题。我愚蠢地在代码的应用程序块中写了我的权限,而不是在它下面。应该是这样的

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Main"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

不喜欢这个

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Main"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</application>`