zoukankan      html  css  js  c++  java
  • android04

    【把文件存放在SDCard】

      用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,如果要存放像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。 SDCard是干什么的?你可以把它看作是移动硬盘或U盘。

    在程序中访问SDCard,你需要申请访问SDCard的权限。
    在AndroidManifest.xml中加入访问SDCard的权限如下:
    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

     1 /**
     2      * 保存到SD卡
     3      */
     4     public void saveSD(String filename, String content) throws Exception{
     5         //File fileSD = new File(new File("/mnt/sdcard"), filename);
     6         File fileSD = new File(Environment.getExternalStorageDirectory(), filename);//兼容其它版本sd卡的目录
     7         FileOutputStream outStream = new FileOutputStream(fileSD);
     8         outStream.write(content.getBytes());
     9         outStream.close();
    10     }
    11 
    12 private final class ButtonClickListener implements OnClickListener
    13     {
    14         @Override
    15         public void onClick(View v) {
    16             // TODO Auto-generated method stub
    17             EditText edtName = (EditText) findViewById(R.id.filename);
    18             EditText edtContent = (EditText) findViewById(R.id.filecontent);
    19             String fileName = edtName.getText().toString();
    20             String fileContent = edtContent.getText().toString();
    21             
    22             Fileservice fileSvr = new Fileservice(getApplicationContext());
    23             try {
    24                 //判断SD卡是否存在,及是否有写入权限
    25                 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
    26                     fileSvr.saveSD(fileName, fileContent);
    27                     Toast.makeText(getApplicationContext(), R.string.success, 1).show();
    28                 }
    29                 else {
    30                     Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
    31                 }
    32             } catch (Exception e) {
    33                 // TODO: handle exception
    34                 Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
    35                 e.printStackTrace();
    36             }
    37             
    38         }
    39         
    40     }
  • 相关阅读:
    opencv出现问题:/usr/lib/x86_64-linux-gnu/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9'
    SCI-HUB 解锁论文的正确姿势——如何免费下载论文
    VS2019 实现与 Linux服务器同步
    VS Code 写代码实时同步服务器【Sftp插件】
    Docker实用技巧(二):容器与主机之间复制文件
    Docker实用技巧(一):镜像的备份/保存/加载/删除
    mycat注解及高可用(三)
    mycat分片及主从(二)
    SVN中trunk,branches,tags用法详解
    寄存器的英文全称
  • 原文地址:https://www.cnblogs.com/Miami/p/3100870.html
Copyright © 2011-2022 走看看