我正在尝试将文件保存到我的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();
}
}
答案 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>`