您的位置:首页 > 移动开发 > Android开发

Android 读写SD卡的文件

2013-10-09 13:00 417 查看
今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法:

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);

 
然后才能读写SD卡上的文件,调用Environment的getExternalStorageDirectory()方法获取外部存储器(SD卡)的目录。

 
使用FileInputStream、FileOutputStream、FileReader或FileWriter读、写SD卡里的文件。

  需要注意是要添加相应的权限。

<!--
在SD卡中创建与删除文件权限 -->

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

   <!--
向SD卡写入数据权限 -->

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

读、写文件的关键代码:

private String read()

    {

       
try
       
{

           
//如果手机插入了SD卡,而且应用程序具有访问SD的权限

           if (Environment.getExternalStorageState()

               
.equals(Environment.MEDIA_MOUNTED))

           
{

               
//获取SD卡对应的存储目录

               
File sdCardDir = Environment.getExternalStorageDirectory();

               
//获取指定文件对应的输入流

               
FileInputStream fis = new FileInputStream(sdCardDir

                   
.getCanonicalPath()   
+ FILE_NAME);

               
//将指定输入流包装成BufferedReader

               
BufferedReader br = new
BufferedReader(new

                   
InputStreamReader(fis));

               
StringBuilder sb = new StringBuilder("");

               
String line = null;

               
while((line =
br.readLine()) != null)

               
{

                   
sb.append(line);

               
}

               
return sb.toString();

           
}

       
}

       
catch (Exception e)

       
{

           
e.printStackTrace();

       
}

       
return null;

    }

   
private void write(String
content)

    {

       
try
       
{   

           
//如果手机插入了SD卡,而且应用程序具有访问SD的权限

           if (Environment.getExternalStorageState()

               
.equals(Environment.MEDIA_MOUNTED))

           
{

               
//获取SD卡的目录

               
File sdCardDir = Environment.getExternalStorageDirectory();

               
File targetFile = new File(sdCardDir.getCanonicalPath()

                   
+ FILE_NAME);

               
//以指定文件创建   
RandomAccessFile对象

               
RandomAccessFile raf = new RandomAccessFile(

                   
targetFile , "rw");

               
//将文件记录指针移动到最后
               
raf.seek(targetFile.length());

               
// 输出文件内容
               
raf.write(content.getBytes());

               
raf.close();

           
}

       
}

       
catch (Exception e)

       
{

           
e.printStackTrace();

       
}

   
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: