FileOutputStream out = content.openFileOutput(path, Context.MODE_PRIVATE);
以上代码再加上io流操作能够实现存储文件到data\data\你的项目完整包名\files目录下
如果要存储文件到sdcard目录下,就得用另外的方法了
在sdk1.5r3以上的版本先在AndroidManifest.xml文件中加入以下配置
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
以存储一个xml文件到sdcard\test 目录下为例,xml的操作使用的是dmo4j,xml的操作请参考有关资料,也可以将xml文件换成其他文件,用OutputStreamWriter代替XMLWriter就能写入其他种类的文件了
FileOutputStream out = null;
XMLWriter writer = null;
try {
// 判断sdcard是否可用
if (Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())) {
String path = "/sdcard/test/";
File dirPath = new File(path);
File xml = new File(path + new Date().getTime() + ".xml");
//必须先创建目录才能创建文件
//目录不存在就创建
if (!dirPath.exists()) {
dirPath.mkdir();
}
// 文件不存在就创建文件
if (!xml.exists()) {
xml.createNewFile();
}
out = new FileOutputStream(xml);
// 构造一个输出格式化对象
OutputFormat opt = new OutputFormat(" ", true, "UTF-8");
// 构造输出XML文档对象
writer = new XMLWriter(out, opt);
writer.write(document);
}else{
Toast.makeText(this, "请插入SD卡!", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try{
if (writer != null) {
writer.close();
}
if (out != null) {
out.close();
}
}catch(IOException e){
e.printStackTrace();
}
}