android保存文件到SD卡中

原创 2013年12月13日 10:23:38

想把文件保存到SD卡中,一定要知道SD卡的路径,有人说可以用File explore来查看,这种方法不太好,因为随着android版本的升级,SD卡的路径可能会发生改变。在1.6的时候SD的路径是/sdCard。后续版本都改成了mnt/sdCard。所有还是使用API来获取:

Environment.getExternalStorageDirectory()

另外,在保存之前要判断SD卡是否已经安装好,并且可读写:

//判断SDcard是否存在并且可读写
				if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
					service.saveToSDCard(filename,filecontent);
					Toast.makeText(getApplicationContext(), R.string.success, 1).show();
				}else{
					Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
				}

查看完整代码:

	/**
	 * 保存到SD卡
	 * @param filename
	 * @param filecontent
	 * @throws Exception
	 */
	public void saveToSDCard(String filename, String filecontent)throws Exception{
		File file = new File(Environment.getExternalStorageDirectory(),filename);
		FileOutputStream outStream = new FileOutputStream(file);
		outStream.write(filecontent.getBytes());
		outStream.close();
	}	

	@Override
		public void onClick(View v) {
			EditText filenameText = (EditText)findViewById(R.id.filename);
			EditText filecontentText = (EditText)findViewById(R.id.filecontent);
			String filename = filenameText.getText().toString();
			String filecontent = filecontentText.getText().toString();
			FileService service = new FileService(getApplicationContext());
			try {
				//判断SDcard是否存在并且可读写
				if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
					service.saveToSDCard(filename,filecontent);
					Toast.makeText(getApplicationContext(), R.string.success, 1).show();
				}else{
					Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
				}
				
			} catch (Exception e) {
				Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
				e.printStackTrace();
			}
			Toast.makeText(getApplicationContext(), R.string.success, 1).show();
		}


Android将String保存为SD卡中TXT文件

public static void stringTxt(String str){ try { FileWriter fw = new FileWriter("...
  • wn1245343496
  • wn1245343496
  • 2016-12-26 10:35:43
  • 1886

Android将数据库保存到SD卡的实现

有时候为了需要,会将数据库保存到外部存储或者SD卡中(对于这种情况可以通过加密数据来避免数据被破解),比如一个应用支持多个数据,每个数据都需要有一个对应的数据库,并且数据库中的信息量特别大时,这显然更...
  • zmywly
  • zmywly
  • 2015-03-09 20:51:32
  • 3462

android保存文件到SD卡,无卡时自动保存到手机 和读出文件

public void save(String filecontent) //位于/data/data//files { //Time t = new Time(); // or Ti...
  • chenhao0568
  • chenhao0568
  • 2016-03-17 21:57:41
  • 2662

android 文件保存到SD卡

 第一步: 在AndroidManifest.xml 加sd卡仿问的权限    第二步: 判断sd卡是否存在并且没有写保护 Environment.getExternalS...
  • u013948190
  • u013948190
  • 2015-07-06 18:47:18
  • 464

通过ADB向android SD卡传送文件

1. 创建SD卡并挂载到模拟器 运 行cmd,并cd至android-sdk\tools\目录下。输入如下命令则可创建并挂载SD卡到模拟器上。mksdcard的参数中SD卡的大小单 位可以为K或者M...
  • LinuxZhouYing
  • LinuxZhouYing
  • 2011-11-15 17:09:02
  • 10973

Android-如何将用户设置进行保存?(内部存储、SD卡,用类作为媒介)

本次实例是将用户的设置信息,以实体类为媒介,保存到内部存储或者SD卡的文件里。再次打开应用时,程序会自动调用文件中实体类,并对设置信息进行设置,使其恢复到用户最终保存的状态。 首先,创建一个实体类(...
  • zhaoyanga14
  • zhaoyanga14
  • 2016-08-16 22:16:47
  • 1159

Android本地文件存储,机身和外置sd卡

在安卓的开发中,有时候要用到大文件的存储,这个时候就不能存储在应用内部(data/data),只能借助外部存储。而外部存储又分为手机机身的存储空间(一级sd卡)和外置sd卡存储空间(二级sd卡)。 1...
  • MarketAndTechnology
  • MarketAndTechnology
  • 2017-06-15 10:10:26
  • 2826

【Android 开发教程】保存到外部存储设备(SD卡)

上一节介绍了如何把文件存储到内部设备。有的时候,需要把文件存储到外部存储设备,比如SD卡。因为SD卡具有更大的存储空间,同时也可以很容易的和其他用户分享这些文件。使用上一节的例子,把用户输入的文字保存...
  • manoel
  • manoel
  • 2013-04-09 22:03:01
  • 12019

Android工作笔记:Android路径大全

Android不同api调用显示的路径: Environment.getExternalStorageState:mounted Environment.getDownloadCacheDi...
  • duancanmeng
  • duancanmeng
  • 2013-06-27 10:57:06
  • 5727

如何把字符串写入SD卡文件中,如何读取SD卡文件的数据

1.字符串写入文件中/** * 获取目标文件的里面的String * * @param targetPath * 目标路径 *...
  • childhooding
  • childhooding
  • 2017-07-24 09:50:34
  • 262
收藏助手
不良信息举报
您举报文章:android保存文件到SD卡中
举报原因:
原因补充:

(最多只允许输入30个字)