Android入门开发之SD卡读写操作

本文介绍了Android应用程序中进行SD卡读写的基本步骤,包括获取SD卡根目录、创建文件夹、写入数据,并强调了需要申请WRITE_EXTERNAL_STORAGE权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     SD卡的读写是我们在开发android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:

   

   1. 获取SD卡的根目录

 String  sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath(); 



   2. 在SD卡上创建文件夹目录

	/**
	 * 在SD卡上创建目录
	 */
	public File createDirOnSDCard(String dir)
	{
		File dirFile = new File(sdCardRoot + File.separator + dir +File.separator);
		Log.v("createDirOnSDCard", sdCardRoot + File.separator + dir +File.separator);
		dirFile.mkdirs();
		return dirFile;
	}



    3. 在SD卡上创建文件

	/**
	 * 在SD卡上创建文件
	 */
	public File createFileOnSDCard(String fileName, String dir) throws IOException
	{
		File file = new File(sdCardRoot + File.separator + dir + File.separator + fileName);
		Log.v("createFileOnSDCard", sdCardRoot + File.separator + dir + File.separator + fileName);
		file.createNewFile();
		return file;
	}



      4.判断文件是否存在于SD卡的某个目录

  

	/**
	 * 判断SD卡上文件是否存在
	 */
	public boolean isFileExist(String fileName, String path)
	{
		File file = new File(sdCardRoot + path + File.separator + fileName);
		return file.exists();
	}


       5.将数据写入到SD卡指定目录文件

	/**
	 * 写入数据到SD卡中
	 */
	public File writeData2SDCard(String path, String fileName, InputStream data)
	{
		File file = null;
		OutputStream output = null;
		
		try {
			createDirOnSDCard(path);  //创建目录
			file = createFileOnSDCard(fileName, path);  //创建文件
			output = new FileOutputStream(file);
			byte buffer[] = new byte[2*1024];          //每次写2K数据
			int temp;
			while((temp = data.read(buffer)) != -1 )
			{
				output.write(buffer,0,temp);
			}
			output.flush();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		finally{
			try {
				output.close();    //关闭数据流操作
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
		
		return file;
	}


    one more important thing:

      对SD卡的操作,必须要申请权限:    

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值