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();
			}
	   }

你可能感兴趣的:(android,xml)