android 向SD卡写入数据

简介: 原文: android 向SD卡写入数据 1.代码: /** * 向sdcard中写入文件 * @param filename 文件名 * @param content 文件内容 */ public ...
原文: android 向SD卡写入数据

1.代码:

/**
	 * 向sdcard中写入文件
	 * @param filename 文件名
	 * @param content 文件内容
	 */
	public void saveToSDCard(String filename,String content) throws Exception{
		File file=new File("/mnt/sdcard", filename);
		OutputStream out=new FileOutputStream(file);
		out.write(content.getBytes());
		out.close();
	}


 

sdcard对应的文件路径:"/mnt/sdcard",开发时不要写SDCard的绝对路径,因为路径会因为版本的改变而改变,这里应该使用以下方法获得SDCard的路径

对应上一段代码修改如下代码如下:

/**
	 * 向sdcard中写入文件
	 * @param filename 文件名
	 * @param content 文件内容
	 */
	public void saveToSDCard(String filename,String content) throws Exception{
		File file=new File(Environment.getExternalStorageDirectory(), filename);
		OutputStream out=new FileOutputStream(file);
		out.write(content.getBytes());
		out.close();
	}


 

2.获得权限:

 <!-- 在SDCard中创建于删除文件的权限 -->
	<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
	<!-- 往SDCard中写入数据的权限 -->
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3.判断SDCard状态(SDCard可能为写保护,或者没有插入SDCard)


 

//向SDCard中保存
				String en=Environment.getExternalStorageState();
				//获取SDCard状态,如果SDCard插入了手机且为非写保护状态
				if(en.equals(Environment.MEDIA_MOUNTED)){
					try {
						service.saveToSDCard(filename, content);
						Toast.makeText(getApplicationContext(), "保存成功", 1).show();
					} catch (Exception e) {
						Toast.makeText(getApplicationContext(), "保存失败", 1).show();
					}
				}else{
					//提示用户SDCard不存在或者为写保护状态
					Toast.makeText(getApplicationContext(), "SDCard不存在或者为写保护状态", 1).show();
				}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录
相关文章
|
3月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
39 0
|
4月前
|
XML 物联网 API
Android Ble蓝牙App(五)数据操作
Android Ble蓝牙App(五)数据操作
|
10天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android&#39;s AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
10 0
|
10天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
10 0
|
24天前
|
XML Java Android开发
Android每点击一次按钮就添加一条数据
Android每点击一次按钮就添加一条数据
24 1
|
1月前
|
存储 Android开发 C++
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
36 3
|
2月前
|
JavaScript Java 数据安全/隐私保护
安卓逆向 -- POST数据解密
安卓逆向 -- POST数据解密
27 2
|
3月前
|
编解码 测试技术 开发工具
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
|
3月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
104 0
|
3月前
|
JSON Java Android开发
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
24 0