当前位置: 代码迷 >> Android >> android 存储文件到sdcard上
  详细解决方案

android 存储文件到sdcard上

热度:39   发布时间:2016-05-01 14:32:01.0
android 存储文件到sdcard下
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();			}	   }
  相关解决方案